87,923
社区成员
发帖
与我相关
我的任务
分享
<script type="text/javascript">
function GG(){
this.something = 200;
alert(this.something); // 1,200
function G1(){
alert(this.something); //2,100
function G2(){
alert(this.something); //3,100
}
G2();
}
G1();
}
something = 100;
var g = new GG();
</script>
function GG(){
this.something = 200;
alert(this.something); // 200
function G1(){
alert(this.something); //200
function G2(){
alert(this.something); //200
}
G2.call(this);
}
G1.call(this);
}
something = 100;
var g = new GG();
在函数里的this只有两种指向,当指明调用对象的时候,他就指向该调用对象,如果没有指向该调用对象,就是window全局对象,var g = new GG();所以他里面的this指向g,
但是G2(),G1(),都没有调用对象,就指向了window,something=100,就是window.something=100,所以是弹出来100