【发布时间】:2015-04-10 04:17:23
【问题描述】:
无意中,在我的项目中,我使用了以下代码,我惊讶地发现它正在工作:
HTML
<span id="output"></span>
Javascript
var myObject = {
'a': '----First---',
'b': '----Second---',
'c': '----Third----'
};
var myArray = ['a'];
// First Case
output.innerHTML = myObject[myArray];
var myArray2 = ['b'];
// Second Case
output.innerHTML += myObject[myArray2];
var myArray3 = ['a', 'b'];
// Third Case
output.innerHTML += myObject[myArray3];
输出
----First-------Second---undefined
Jsbin 链接:http://jsbin.com/godilosifu/1/edit?html,js,output
我直接访问 Object 中的数组引用,这在所有情况下都应该是未定义的,但奇怪的是,当数组的大小为 1 时,它总是获取第一个元素并将其用作对象键。
我只想知道这个概念叫什么,为什么会这样?
【问题讨论】:
标签: javascript arrays json object