有人可以指出我对申请的误解。我有以下代码:
function testFunc(input) {
console.log(Array.isArray(input));
console.log(input);
}
var obj = {};
var testArr = ["test1", true, 3];
testFunc(testArr); // first call
testFunc.call(obj, testArr); // second call
testFunc.apply(obj, testArr); // third call
正如所料,第一次和第二次调用产生输出
true 和数组[“test1”,true,3] 。
根据我对应用的所有内容的理解,第三个调用也应该产生相同的结果:apply期待 this (obj)和类似数组的参数。
然而,我得到的是
false 和 test1 (作为字符串)。
如何以及为什么数组被折叠为第一个元素?是什么给了什么?
由于