有人能告诉我使用"Object Literal Notation"和JSON对象定义的JavaScript对象之间的主要区别是什么?
根据一本JavaScript书,它说这是一个使用Object Notation定义的对象:
var anObject = {
property1 : true,
showMessage : function (msg) { alert(msg) }
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,为什么它不是JSON对象?仅仅因为它没有使用引号定义?
使用a的原因IDE是它提供的综合设施.
因此,我假设有一个JavascriptEclipse编辑器,它提供基于大纲的基本IDE设施,例如:
Object Literal支持(显然是罕见的)Outliner数据完成Outliner数据突出显示,而不仅仅是类似的单词@include "otherfile.js")但是,因为Javascript这些功能似乎分散在多个编辑器中:
JavaScript是一种非常流行的语言,越来越多的框架,如ExtJS仅仅依靠JSON- 像 …
我目前正在进入Scala,并且想知道在调用以':'结尾的方法时使用对象表示法的区别.由于以':'结尾的方法名称通常会产生右侧关联性,当使用对象表示法调用此类方法时,这似乎会发生变化.
例:
scala> 3 +: List(1,2)
res1: List[Int] = List(3, 1, 2)
scala> List(1,2) +: 3 // does not compile due to right side associativity
scala> (List(1,2)).+:(3)
res2: List[Int] = List( 3, 1, 2)
Run Code Online (Sandbox Code Playgroud)
现在我不明白为什么通过使用对象表示法来禁用右关联性功能.有人可以解释这个或链接到这个问题的文档?
这对我来说有点难以表达,但在PHP中你可以这样说:
$myArray['someindex'] = "my string";
如果没有名称的索引,它将创建/分配值,如果有索引,它将覆盖现有值.
将此与Javascript进行比较,今天我必须做以下检查:
if (!myObject[key]) myObject[key] = "value";
我知道这可能有点挑剔,但有没有PHP(和许多其他语言)能够自己做这些检查的能力的名称,而不是Javascript的更详细(读取:PITA)方法?
编辑
我在问这个时很困惑.假设你要添加到这个结构:
myobject = {
holidays : {easter : {date : 4/20/2010,
religion : Christianity}
holi : {date : 3/10/2010,
religion : hindu}
}
Run Code Online (Sandbox Code Playgroud)
今天我遇到了一个问题,我收到了表格数据,我想通过构建一个对象把它放到一棵树上.
当我开始我的循环时,我很难制作新的索引,就好像myobject['holidays'][thisVariable][date] = 4/20/2010这棵树基本上没有建立到那一点.
如果不清楚的话,我会从我的另一台计算机上获取代码示例,对于糟糕的思考感到抱歉.
我有一个对象
me = {
name: "Mo",
age: 28,
}
我想看看这个对象是否具有属性"高度",例如.(它没有)我怎么能这样做?因此,例如,如果它具有属性"height",我可以给它一个值"5,7".
请注意:我不想检查属性VALUE(me.name),而是检查属性NAME.
谢谢.