2012-08-03 98 views
0

如果我创建了一个JavaScript对象,像这样:的JavaScript函数初始化

Test = function(params) { 
    this.test = params.test || 'element'; 
    this.test1 = params.test1 || '#000'; 
    this.test2 = params.test2; 
    this.test3 = params.test3; 

    //need a neat little initialise function to create some html elements here! 
} 

var test = new Test({test: "#CCC", test1: [0, 1, 3], test2: [0, 1, 3]}); 

我怎么会那么创建时对象的实例是像上面创建了将运行一个合适的initialise功能。

我会简单地做一个函数然后调用它,或者有办法让一个函数在创建对象实例时自行运行。

+0

为什么你不能在你已经有的构造函数中做到这一点? – 2012-08-03 19:20:37

+1

您可以创建一个函数'Test.prototype.init_html_'并从构造函数中调用它。如果它是非常简单的代码,把它放在构造函数中,那就是它的用途。 – 2012-08-03 19:26:45

+0

这完全取决于你想要做什么。我的意思是......你可以'函数init(obj){obj [0] = document.createElement(“div”); };但是那完成了什么呢?你的'init'试图做什么?你想要'var test'的最终结果是什么?你想怎样才能做到这一点? – Norguard 2012-08-03 19:27:55

回答

3

您的构造函数已经是的一个函数,您可以将代码放在那里。从技术上来说,构造函数是对象的初始化函数。

我会简单地做一个函数然后调用它,还是有办法让一个函数在创建对象实例时自行运行。

这取决于。你能否在构造函数中重用html元素创建代码?然后把它放在一个单独的函数中(可能在原型上)并从构造函数中调用它。

1

您已经有一个初始化函数,这就是变量被定义的地方。只要在那里做东西,当你创建对象的实例时就会发生。