
var obj = {
name: 'why',
eat: function() {
console.log(this.name + '在吃饭');
},
run: function() {
console.log(obj.name + '在跑步');
}
}
obj.eat();
obj.run();
var obj = {
name: 'why',
eat: function() {
console.log(this.name + '在吃饭');
},
run: function() {
console.log(obj.name + '在跑步');
}
}
var info = {
name: 'why',
eat: function() {
console.log(this.name + '在吃饭');
},
run: function() {
console.log(obj.name + '在跑步');
}
}
obj.eat();
obj.run();
 
this在全局作用域指向什么
  
this的隐式绑定
     
显示绑定

apply-call-bind函数
   默认下this的指向是绑定到其调用者,但可以通过apply,call方法改变this的调用指向。 例如:foo函数执行时,将this绑定到obj这个对象上,而不是通过在obj这个对象中写属性存foo函数的地址,在obj.foo调用来改变this的指向。 
call和apply的区别(传参不同)
   call和apply在执行函数时是可以明确绑定this的,这个绑定称为显示绑定   bind绑定后会生成一个新的函数,该函数独立调用时,其this也是bind绑定的而不是指向window 
new绑定
   
this指向面试题
    
内置函数的绑定思考

绑定规则优先级
       
特殊绑定忽略显示绑定
  
间接函数引用

是否加分号
   
箭头函数
     
this规则之外-ES6箭头函数
 
关于this的面试题
面试题一
 
面试题二
 
面试题三
 
面试题四
 
|