javascript - 为什么我可以用 [val] 访问 js 对象,但不能用 .val 访问?

标签 javascript

为什么这不起作用?

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");

为什么访问对象时使用点运算不能与动态输入一起使用?

最佳答案

lookup.val 在lookup 中查找不存在的val 键,这就是它不起作用的原因,您需要执行lookup.charlie。另外,lookup[val] = Lookup['charlie'] 所以它可以工作。

关于javascript - 为什么我可以用 [val] 访问 js 对象,但不能用 .val 访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44794171/

相关文章:

javascript - javascript执行上下文中的形参列表是什么?

javascript - 获取浏览器中渲染文本的确切字体,可能使用浏览器扩展

javascript - 如何在 AngularJS 应用程序中修改 DOM

javascript - 如果输入为空,如何禁用html按钮?

java - Java 相当于 Javascript 中的多维对象是什么?

javascript - react 分页选择切换类名

带有 JavaScript 对象的 PHP 数组到 JavaScript

javascript 迭代输入持续时间值并将其相加

javascript - Javascript 的 setInterval block 是否返回函数?

javascript - 如何通过单击按钮上传文件