最近在牛客网上做题目,总是做错很多很细致的题目,一度觉得是题目考的太细了,其实还是自己了解的程度不够深刻,理解的不够透彻,所以决定从头学习JS重点,分块级记录学习过程,只求让自己能够学的有条理,能够细致起来。
相信大家在做题目或项目的时候,经常被这个this搞得头昏脑涨,我也是= =,所以为了让它不再迷惑我们,认认真真的来学习一下它吧。
this指向
首先我们要知道,this指向在定义的时候,完全不知道它指向谁,只有在实际调用的时候才能知道它到底指向谁。
先来看个栗子吧!
function a (){
var user = '狗蛋';
console.log(this.user); //undefined
console.log(this); //window
};
a ();
a作为函数,它的this是指向window的,所以window.user自然是找不到的。 再看第二个小栗子!
function b () {
user: '二狗';
c: function () {
console.log(this.user); //二狗
}
}
这个时候的函数C,就是出于b 的作用域中,所以c的this指向b,