JavaScript对象创建方法
JavaScript object creation methods
我一直在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的专业知识。
这个代码确实有效,但如果它不是"好"代码,那么我会想重写它。因为我就是这样的肛门。:-)
谢谢!
new <Object>
是一个语法错误。这根本不是有效的JavaScript。new
的操作数必须是一个函数。
同样,像您在"类"构造示例中所展示的那样,使用函数作为构造函数也是一种非常常见的做法。
相关文章:
- 通过两种方法创建和更新 CSS
- javascript基对象,用不同的方法创建另外两个对象
- 为命名空间上公开的方法创建类型定义
- 尝试理解 JavaScript 中的对象和方法创建
- Meteor Braintree -- 通过 Meteor 方法创建客户端令牌
- 为嵌套在对象深处的方法创建别名
- 如何使用getter和setter方法创建一个Angular工厂而不遇到竞争条件
- 我们可以在 JavaScript 中使用 eval 方法创建 HTML 标签吗?
- 如何从原型方法创建对象的实例
- 为什么谷歌在其Javascript代码中为方法创建缩写
- 使用推送方法创建数组
- 如何访问使用jquery insertAfter方法创建的元素
- 如何通过objx的collect()方法创建json字符串特定字段的数组
- 如何从通过createHTMLDocument方法创建的文档中提取样式表
- 如何使用post方法创建重定向链接
- jQuery无法识别由.html()方法创建的选择器
- 为什么JavaScript中的顶级函数是作为window的方法创建的
- Javascript:通过不同的方法创建字符串
- 用方法创建javascript对象
- 在Javascript中使用Google calendar API插入方法创建新日历会返回错误400 "Mis