Js的this隐式调用的坑,遗失this绑定几个简单举例
原创博主分享的这些例子来自JS小黄书, 帮助大家理解JS约束原则
前两个是隐式绑定的示例
function foo(){
  console.log(this.a);
}
var obj = {
  a:2,
  foo: foo
};
obj.foo(); // 2
function foo(){
  console.log(this.a);
}
var obj2 = {
  a:42,
  foo: foo
}
var obj1 = {
  a: 2,
  obj2: obj2
};
obj1.obj2.foo(); // 42隐式丢失
function foo(){
  console.log(this.a);
}
var obj = {
  a:2,
  foo: foo
}
var bar = obj.foo; // 函数别名!
var a = "gloabal";
bar(); // "global"
function foo(){
  console.log(this.a);
}
function doFoo(fn){
  fn();
}
var obj = {
  a:2,
  foo: foo
};
var a = "global";
doFoo(obj.foo); // "global"缺少回调函数。this绑定非常常见
除了隐式绑定之外,还有显式绑定和硬绑定。
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
 itfan123
itfan123





