为什么这不起作用?
function phoneticLookup(val) {
var result = "";
var lookup = {
"alpha": "Adams",
"bravo": "Boston",
"charlie": "Chicago",
"delta": "Denver",
"echo": "Easy",
"foxtrot": "Frank"
};
result = lookup.val;
return result;
}
phoneticLookup("charlie");
但是这样做
function phoneticLookup(val) {
var result = "";
var lookup = {
"alpha": "Adams",
"bravo": "Boston",
"charlie": "Chicago",
"delta": "Denver",
"echo": "Easy",
"foxtrot": "Frank"
};
result = lookup[val];
return result;
}
phoneticLookup("charlie");
为什么在访问对象时使用点操作不能用于动态输入?
答案 0 :(得分:0)
lookup.val查找内部查找的val键,这不存在,这就是为什么它不起作用,你需要做lookup.charlie。另外,查找[val] = lookup ['charlie']以使其有效。
答案 1 :(得分:-1)
您的对象中没有val
个命名属性。当您尝试访问object.val
时,它会通过流利的语言在您的对象中查找val命名属性。
当您动态传递属性名称时。第二个是工作,因为它试图通过字符串名称访问属性。