window.val = 1;
var json = {
val:10,
dbl:function(){
this.val = 2;
}
};
json.dbl();//this.val = 2 ⒈
var dbl = json.dbl; ⒉
dbl();//window.val = 1; ⒊
json.dbl.call(window);//this指向变为window,并且执行,window.val = 1; ⒋
alert(window.val + json.val);//json指向为window,所以val为1,1+1=2??? ⒌
注释是我最开始的理解,然后看到了结果之后我试图用答案去逆向思考来找原因。
狐的传说
相关分类