需要澄清JavaScript apply方法

时间:2017-12-08 04:50:39

标签: javascript

有人可以指出我对申请的误解。我有以下代码:

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 (作为字符串)。

如何以及为什么数组被折叠为第一个元素?是什么给了什么?

由于

0 个答案:

没有答案