所有我都看过如下创建对象,实际上这种类型的创建对象是什么?
var myApp = myApp || {};
我正在创建像这样的对象
var myApp={property:"value",method:function(){}};
任何人都可以告诉我两种类型之间的区别。
答案 0 :(得分:2)
第一个示例不会替换变量myApp
(如果它已经存在),并且对于在不熟悉的命名空间中工作或使用全局变量很有用。您必须在创建后指定myApp
的属性。
第二个示例将始终创建myApp
的新版本,并允许您在创建期间指定其属性。它将覆盖已命名为myApp
的任何其他变量。
两个示例都创建了相同的“类型”对象 - 实际上只有一种类型的对象。使对象彼此不同的原因是它们拥有的属性。
答案 1 :(得分:1)
第一个示例如果已经有一个值,则为自己赋值;否则为没有属性的对象赋值。
第二个示例为对象分配属性。