js中的this用法

而今才到當時錯發表於2018-05-03

一 如果是鍵頭函式, 在執行時this跟父級作用域一致 二 如果是普通函式,作為事件的回撥函式被執行this 會指向事件發生的元素; 如果有點,那麼就指向點前面的那個值;

const obj = { name: 'objectName', saying() { console.log(this.name); }, reading: () => { console.log(this.name); } } obj.saying(); // objctName obj.reading(); // undefined

作為方法來呼叫 var name="windowName"; var person={ name:"personName", showName:function(){ console.log(this.name); } }

person.showName();  //輸出  persoName
//這裡是person物件呼叫showName方法,很顯然this關鍵字是指向person物件的,所以會輸出name

var showNameA=person.showName;
showNameA();    //輸出  windowName
//這裡將person.showName方法賦給showNameA變數,此時showNameA變數相當於window物件的一個屬性,因此showNameA()執行的時候相當於window.showNameA(),即window物件呼叫showNameA這個方法,所以this關鍵字指向window
複製程式碼

相關文章