网站开发技术

记点笔记、 学点技术 欢迎交流建站技术。本站关注lamp技术

您尚未登录。

#1 2014-12-18 10:50:03

jquery
版主

js 如果直接执行 构造函数,会发生什么事情。

先看一个示例代码

var age = 100;   
         
function Test(name, age) {
    this.name = name;
    if(age) {
       this.age = age; 
    } else {
        this.age = 200;
    }
}

Test();
alert(age);

这段代码可以分成两个部分看。

第一个部分就是   var age = 100; 

其余的部分是第二个部分。

输出结果是 200 .

表明 第二部分把第一部分的值给修改了。


本来 Test() 应该是个构造函数(javascript 中什么是构造函数) 来产生对象用的。结果直接给执行了。 构造函数中是有this 关键字的。 

如果直接执行了, 在这个环境中this 就是表示 window 了。

结果就是  window.age = 200; 就把值给修改了。

所以说构造函数是不能直接执行了, 会产生变量,或者修改变量。


可以再 Test() 中加入

alert(this === window) // 执行的结果是  true 




<a href="http://www.ipbbs.net/viewforum.php?id=4"> jquery教程</a>

离线

页脚

Powered by FluxBB