代码
var obj={
a:1,
obj2:{
b:2,
obj3:{
c:3,
fn3:()=>{
console.log(this);
},
fn3_:function(){
console.log(this);
}
}
}
}
-
执行结果
-
window.obj.obj2.obj3.fn3();
-
window.obj.obj2.obj3.fn3_();
-
-
疑惑
- 第一个既然是静态this,为什么打印结果不是
{b:2,obj3:{...}}
- 第一个既然是静态this,为什么打印结果不是
第二个代码
var Obj =function(){
this.a=1;
this.obj2={
b:2,
obj3:{
c:3,
fn3:()=>{
console.log(this);
},
fn3_:function(){
console.log(this);
}
}
}
}
-
执行结果
var obj = new Obj();
-
window.obj.obj2.obj3.fn3();
-
window.obj.obj2.obj3.fn3_();
-
疑惑
- 为什么代码1和代码2执行结果迥异