function(){}和new function(){}之间有什么区别

时间:2012-07-12 12:29:26

标签: javascript oop object

之间有什么区别
RGBCatcher = new function(){}

var Basket = function(){}

一方有new function()而另一方只有function()。还有人使用var

2 个答案:

答案 0 :(得分:2)

它们不是jQuery对象。它是基本的JavaScript语法。

包含var与否之间的区别在于省略var会使变量(RGBCatcher)在全局范围内隐式声明,这是不好的做法;你应该总是使用var声明。

function本身声明了一个函数(在本例中它是一个函数表达式),因此您可以调用Basket()来执行指向Basket变量的函数。

new functionnew构造创建的匿名函数调用function;它与以下内容相同(当然,您没有创建名为Constructor的函数);

function Constructor() {

}

var RGBCatcher = new Constructor(); 

答案 1 :(得分:0)

请遵循以下主题:

`new function()` with lower case "f" in JavaScript

var a = new function(){

    var member = '1';
    alert(member);
}

//提醒1

 var b=   function(){
    alert('2');
    return '2';
}();

//提醒2

(function (){
    alert ('3');
    return '3';
})();

//提醒3

alert (a);

// alerts [Object Object]

alert (b);

//提醒2