数组未定义与 -1

Arrays undefined vs -1

为什么说这段代码时这两个输出之间存在差异:

var animals = ["a", "b", "c", "d"];

console.log = [4];
console.log(animals.indexOf("e"));

为什么在 indexOf 处说 undefined vs -1?

indexOf() 在数组中查找 "e"。如果找到它将 return 它所在的位置,否则它将始终 return -1.

console.log = [4] 正在将 [4] 赋给 console.log,它会覆盖函数 console.log() 并为其赋值一个数组的值,其中一个值是 4 .

应该这样写(错误已更正):

var animal = ["a", "b", "c", "d"];
console.log(animal.indexOf("e"));

现在可以了。