【发布时间】:2017-04-26 00:10:11
【问题描述】:
如果我有一个对象和函数
var obj {
"1234": {"example": "sample"},
"5678": {"example": "sample"}
}
function example(num, str) {
if obj[num].hasOwnProperty(str) {
//manipulate property
}
return obj;
}
然后调用函数,
obj(1234, "example")
为什么我必须写 obj[num] 而不是 obj.num?不应该接受点表示法,因为传递的值将始终是一个整数并且没有引号,即 obj.1234 可以工作,但不能 obj."string"?
【问题讨论】:
-
旁注:如果需要,您可以在对象初始化程序中删除属性名称的引号。数字文字在那里有效:
var obj = { 1234: {"example": "sample"} ...
标签: javascript