JavaScript---this 淩亂°似流年 2022-08-09 01:55 167阅读 0赞 var x="全局对象"; var test={ tests:function test1(){ this.x="外部函数"; function test2(){ alert(this.x);//此时的this指向的是全局对象,本来应该指向的是外部函数对象 }; test2(); } }; test.tests();//结果为"全局对象",这是语言设计上的失误,用的时候需要注意 解决方法: var x="全局对象"; var test={ tests:function test1(){ this.x="外部函数对象"; var that=this;//通过定义that变量,并赋值为this function test2(){ alert(that.x);//此时内部函数就可以通过that变量来访问外部函数中的x了 }; test2(); } }; test.tests();//结果为"外部函数对象" 更多的this内容可以看这篇文章: [深入理解JavaScript中的this关键字][JavaScript_this] [JavaScript_this]: http://www.cnblogs.com/rainman/archive/2009/05/03/1448392.html
还没有评论,来说两句吧...