改變this指向

2021-10-16 12:40:10 字數 915 閱讀 4580

實現new完整版

function fn

(name,age)

fn.prototype.say=

function()

var obj1=

newfn

("高",18

); console.

log(

"obj1"

,obj1)

;自己模擬

var obj=

建立對fn.

call

(obj,

"gao",19

);改變建構函式的this 指向 --指向 obj obj.__proto__= fn.prototype;

將建構函式的 prototype

(原型 賦值給物件的 __proto__(原型鏈) 返回 物件。

console.

log(obj)

;

var obj=

;function fn

(a,b)fn(

1,2)

;fn 函式裡 的this 指向 obj 物件

第乙個引數 this 指向的物件

fn.call

(obj,1,

2);

fn.(obj,[1

,2])

;

fn.bind

(obj,1,

2)()

;需要手動呼叫

fn.bind

(obj)(1

,2);

// 需要手動呼叫

this指向 改變this指向

常見的this指向 常見的this指向 全域性下的this指向window 函式中的this,誰呼叫指向誰 建構函式中的this指向建構函式的物件 物件中的this預設指向當前物件 事件處理函式中this誰觸發指向誰 指向觸發事件的目標元素 定時器函式,this 指向 window 箭頭函式中沒有t...

this指向 改變this指向

function a a 此處相當於window.a 這僅是我個人的理解 在這個 中我們可以看出在 的結尾是由window來呼叫的函式a,那麼這個時候this指向window,this.user,全域性中沒有user,所以先定義了,但是沒有賦值,所以列印出undefined this指向練習二 va...

改變this指向

改變this的指向 call 方法 bind方法 new關鍵字 區別在普通函式中,this指向window 在建構函式中,this指向建立的物件 在方法宣告中,this指向呼叫者 在定時器中,this指向window 在事件中,this 指向事件源 this 指向了觸發事件的 dom 元素本身 全域...