最小例子:
function test() {
console.log(arguments.join(','));
}
test(1,2,3);
Run Code Online (Sandbox Code Playgroud)
然后我得到:
TypeError:undefined不是函数
但是,当我对数组执行相同操作时:
console.log([1,2,3].join(','));
Run Code Online (Sandbox Code Playgroud)
我明白了
"1,2,3"
正如所料.
这个问题有什么不对?它假设是一个数组:
(function () {
console.log(typeof [] == typeof arguments)
})();
Run Code Online (Sandbox Code Playgroud)
真正