我写了这段代码
var myObj={
a:'kaka',
b:'beck'
};
var finalname=myObj[b]);
console.log(finalname);
代码在控制台中没有显示任何内容。 请帮忙。 感谢。
答案 0 :(得分:4)
使用myObj.b
代替myObj["b"]
var myObj = {
a: 'kaka',
b: 'beck'
};
var finalName = myObj.b;
console.log(finalName);
如果您打算使用方括号表示法,那么键应该是一个字符串。
var myObj = {
'a': 'kaka',
'b': 'beck'
};
var finalName = myObj['b'];
console.log(finalName);
答案 1 :(得分:1)
在致电时,您是不是首先得到错误:
var finalname=myObj[b]);
应该是:
var finalname=myObj["b"];
没有“)”和内部引号“”
OR
var finalname=myObj.b;
答案 2 :(得分:1)
b需要是字符串或变量
var myObj={
a:'kaka',
b:'beck'
};
var finalname=myObj['b'];
console.log(finalname);
答案 3 :(得分:0)
var myObject = {...};
myObject.attr; // try to get an attribute named as attr,
myObject["attr"]; // try to get an attribute named as attr,
myObject[attr]; // try to get an attribute named as the value of attr.
/*
conclusion:
any thing appeared in square bracket is considered as an expression,
the owner object try to find the attribute named as the expression's value.
otherwise, square bracket is more powerfull:
myObject["a-b"]
myObject["1"]
myObject["a b"]
...
myObject["anything"]
while:
myObject.a-b // the value of myObject's attribute a minus the value of b
myObject.1 // grammatical mistake
myObject.a b // grammatical mistake
*/