如果我有一个对象的引用:
var test = {};
Run Code Online (Sandbox Code Playgroud)
可能(但不是立即)有嵌套对象,如:
{level1: {level2: {level3: "level3"}}};
Run Code Online (Sandbox Code Playgroud)
在最深层嵌套的对象中测试密钥是否存在的最佳方法是什么?
alert(test.level1);收益率undefined,但alert(test.level1.level2.level3);失败了.
我现在正在做这样的事情:
if(test.level1 && test.level1.level2 && test.level1.level2.level3) {
alert(test.level1.level2.level3);
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更好的方法.
有人能告诉我使用"Object Literal Notation"和JSON对象定义的JavaScript对象之间的主要区别是什么?
根据一本JavaScript书,它说这是一个使用Object Notation定义的对象:
var anObject = {
property1 : true,
showMessage : function (msg) { alert(msg) }
};
Run Code Online (Sandbox Code Playgroud)
在这种情况下,为什么它不是JSON对象?仅仅因为它没有使用引号定义?