JavaScript 下面的函数怎么理解?大神能不能一句句解释下,谢谢,初学
varx=1;functiontest(){alert(this.x);}test();//1varx=1;functiontest(){this.x=0;}test()...
var x = 1;
function test() {
alert(this.x);
}
test();//1
var x = 1;
function test() {
this.x = 0;
}
test();
alert(x);//0 展开
function test() {
alert(this.x);
}
test();//1
var x = 1;
function test() {
this.x = 0;
}
test();
alert(x);//0 展开
3个回答
展开全部
var x = 1; // 定义一个变量,变量名是x
function test() { // 定义一个函数,函数名叫 test
alert(this.x); // 函数执行的内容,是弹出一个值,这个值是this.x
}
test();//1 //执行函数,弹1,原因是 this 是window,就相当于弹window.x ,var x 这个是全局变量,存在window里,所以就相当于是弹1, 但是var x 和 window.x 有内在区别。
var x = 1;
function test() {
this.x = 0;
}
test(); //这里同上
alert(x);//0 //这里 因为test函数执行,修改了全局变量x的值,为0 ,所以弹0.
展开全部
可以把var x=1认为window.x=1,
可以把function test()认为 window.test=function(){},
所以test函数里的this指的是window,因此this.x就是window.x,
函数里面的this.x=0就把window.x赋值为0,所以最后弹出0.
可以把function test()认为 window.test=function(){},
所以test函数里的this指的是window,因此this.x就是window.x,
函数里面的this.x=0就把window.x赋值为0,所以最后弹出0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this表示当前文档,第一个获取当前文档的x的值当然是1;
第二个函数执行了后,this.x=0设置当前文档的x=0(全局变量),后面在alert是x就已经变为0了
第二个函数执行了后,this.x=0设置当前文档的x=0(全局变量),后面在alert是x就已经变为0了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
更多回答(1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询