JavaScript对象创建方法

时间:2012-01-19 15:50:55

标签: javascript-objects javascript

我一直在搜索Stack Overflow和网络,以便对我在某些遗留JavaScript中看到的内容进行合理的解释。到目前为止,我没有太多运气,所以我决定采取实际发布问题的极端措施。 : - )

代码并不是超级老,但它早于我参与项目,并且(当然)最初创建它的开发人员在我到达之前就离开了。

所以我们走了:

通常当我在寻找创建JavaScript'类'的代码时,我会看到类似的内容:

var SomeClass = function() { ..stuff.. }

...other code...

var objSomeClass = new SomeClass();

同样熟悉的是JavaScript文字:

var someLiteral = { ..stuff.. }

...other code...

var someResult = someLiteral.someFunction();

我在遗留代码中看到的似乎是两种风格的组合,我以前从未见过有人这样做过。所以我们得到的是:

var someLiteral = { ..stuff.. }

...other code...

var objSomeLiteral = new someLiteral();

此外,在相同的代码中是这样的声明:

function doStuff() { ..stuff.. }

...other code...

var objDoStuff = new doStuff();

同样,我以前从未见过有人像这样编写代码。

这个语义上是不正确的代码,还是有一些有效的理由这样做,我只是不知道?这总是可能的,此时我没有声称拥有JavaScript专业知识。

代码肯定有效,但如果它不是'好'的代码,那么我将要重写它。因为我只是这样的肛门。 : - )

谢谢!

1 个答案:

答案 0 :(得分:2)

new <Object>是语法错误。这根本就不是有效的JavaScript。 new的操作数必须是一个函数。

同样使用函数作为你在“类”构造示例中显示的构造函数是一种非常常见的做法。