您的位置:首页 > 其它

function 与 new function 区别

2013-03-06 18:11 309 查看
1. function
function test(){
    var i = 1;
    this.j = 2;
    alert(i + j);
}
js通用的定义function的方式.
this.j 变量属于test方法的所有者window对象

2. function
var test = function(){
    var i = 1;
    this.j = 2;
    alert(i + j);
}
与第1种方式等价

3. new function
var test = new function(){
    var i = 1;
    this.j = 2;
    alert(i + j);
}
相当于定义了一个对象名为function的Object
i 变量就是function构造方法中的一个局部变量
j 变量就是function对象的属性
要执行这个方法:
test.constructor();

4. new Function
var test = new Function('
    var i = 1;
    this.j = 2;
    alert(i + j);
');
这里使用了js的内置对象Function, 效果等价于第2种方式

5. Function
var test = Function('
    var i = 1;
    this.j = 2;
    alert(i + j);
');
效果等价于第4种方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: