最近在牛客網上作題目,老是作錯不少很細緻的題目,一度以爲是題目考的太細了,其實仍是本身瞭解的程度不夠深入,理解的不夠透徹,因此決定從頭學習JS重點,分塊級記錄學習過程,只求讓本身可以學的有條理,可以細緻起來。函數
相信你們在作題目或項目的時候,常常被這個this搞得頭昏腦漲,我也是= =,因此爲了讓它再也不迷惑咱們,認認真真的來學習一下它吧。學習
首先咱們要知道,this指向在定義的時候,徹底不知道它指向誰,只有在實際調用的時候才能知道它到底指向誰。this
先來看個栗子吧!spa
function a (){
var user = '狗蛋';
console.log(this.user); //undefined
console.log(this); //window
};
a ();
複製代碼
a做爲函數,它的this是指向window的,因此window.user天然是找不到的。 再看第二個小栗子!code
function b () {
user: '二狗';
c: function () {
console.log(this.user); //二狗
}
}
複製代碼
這個時候的函數C,就是出於b 的做用域中,因此c的this指向b,作用域