创建一个对象

时间:2011-08-12 16:56:54

标签: javascript singleton new-operator instance

我想创建一个对象。以下代码是否有意义?

singleObj = new function () {
    // act as a constructor.
};

我是否伤害了任何良好做法?

我需要一个构造函数。一个简单的对象文字在这里没用。

4 个答案:

答案 0 :(得分:1)

如果您只想要一个对象,那么您永远不会再创建一个对象,那么对象文字在这里可以很好地工作。

var x = { };

会给你一个对象。 为了

var F = function() {
};

为您提供一个需要调用F

的对象
var x = new F();

答案 1 :(得分:0)

你可以尝试类似的东西:

var objCreate = function() {
    var obj = {};
    // do constructor logic
    return obj;
};

答案 2 :(得分:0)

只需创建一个新对象然后填充它。你不需要一个控制者来做这件事。

var singleObject = {};
singleObject.value1 = "whatever";

如果你真的想使用某个功能,那么你需要实际调用它。

var singleObj = new (function () {
    // act as a constructor.
})();

我们可以通过创建匿名函数function(){}来使用自执行函数,并立即使用空参数集调用它。

答案 3 :(得分:0)

http://www.w3schools.com/js/js_objects.asp

//Used to create an object
personObj=new Object();
personObj.firstname="John";
personObj.lastname="Doe";
personObj.age=50;
personObj.eyecolor="blue";

//Used as a constructor for the object
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
//how to declare objects via constructor template
var myFather=new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green");