我偶然做到了这一点......
var numbers = [1, 2, 3, 4];
numbers.push[5];
为什么没有错误信息?
push需要括号,而不是方括号。这只是一个简单的错字。我没有足够关注我正在做的事情......但为什么没有错误信息?
据我所知,数字数组没有以任何方式修改。它只是......没有。
答案 0 :(得分:9)
numbers.push
只是一个函数,但您正在尝试从其中找到位于键5
的属性,该属性将评估为undefined
。
function test() {
console.log("test");
}
// test[5] evaluates to `undefined` and does nothing
console.log(test[5]);
// We can even manually set this without messing up the function
test[5] = "foo";
// outputs "foo"
console.log(test[5]);
// outputs our expected value "test"
test();