關於this指向

2022-09-02 16:45:10 字數 656 閱讀 5048

this是js中乙個難點,通常來講,this就是指向當前的執行環境,js物件可以看成全域性物件和區域性物件,當函式直接在全域性環境中執行,則this指向全域性物件

function foo()

foo();//輸出window

第二種,當this在物件中的時候,this 指向的是該物件

var obj =	   

};obj.play(); //輸出jack can play pubg

第三種,當this在建構函式中的時候,this 將會指向新的例項,此時this 會通過new 關鍵字指向例項,詳細的下回開專題講

function foo(name,value)

}var foo = new foo("peter","can do it");

foo.play();//輸出 peter can do it

let a =5;

let b =3;

let sub =(a,b) => a - b;

let add =(a,b) => a + b;

console.log(sub.call(add,a,b)); // 改變add的執行環境 輸出為2

this關鍵字在寫外掛程式時尤其重要,一定要反覆理解

關於 this 指向問題

一 面試題 function foo foo 全域性物件 foo.call 123 123二 面試題 const obj1 obj1.foo obj1 const fn obj1.foo fn 三 面試題 const obj2 bar obj2.foo 沿著作用域向上找最近的乙個 function ...

關於this的指向

一般來說,this指向的其實就是 包含this的函式 物件 的父元素 var user console.log user.getcount 1 var fuc user.getcount 將物件user的getcount方法賦值給變數fuc,相當於 fuc function console.log ...

關於this的指向問題

呼叫方式有以下四種只需要記住一點,this的指向取決於以什麼樣的方式去呼叫它 1 函式呼叫模式 funcction fn fn 那麼此時的this,指向的是我們的windows 2 方法呼叫模式 var obj obj.sayhi obj.sayhi 裡面的this 那麼必定指向這個 obj 3 構...