我在codecademy.com学习Javascript轨道。我对使用" Object Literal Notation"创建对象感到困惑。
此处为syntax1,在提示部分中的语法为:
var friends = {
bill: {},
steve: {}
};
我们需要那些花括号来包含键'对象大括号内的值。
但是,在syntax2中,语法为:
var myObject = {
key: value,
key: value,
key: value
};
请参阅否在对象的花括号中需要花括号容器。 当我进行练习时,我们只需要:直接输入数字和函数,或者在字符串的引号内,或在数组的方括号内。
有人可以分享他们的知识和时间告诉我为什么我们有区别或哪一个是正确的语法?
答案 0 :(得分:3)
"对象文字表示法"只是表示以下格式:
var myObject = {
key1: <value1>,
key2: <value2>,
// ...
keyN: <valueN>
};
其中<valueX>
可以是任何JS值,如布尔值,数字,字符串甚至是另一个Object(由相同的{ key1: <value1> ... }
语法指示)。
空对象只是一个没有键(属性),因此看起来像{ }
(空格是可选的)。
答案 1 :(得分:1)
这取决于变量的内容:
synthax1:
var obj = {
name: "Thiago",
currentYear : 2014
};
synthax2:
var obj = {
name: "Thiago",
skills: {
key: "JS",
value: 1
}
};
您可以使用[]进行初始化,它将是一个数组。
答案 2 :(得分:0)
这取决于你想要的值。
{}
是一个空对象;其他文字是其他价值观。