第一种:
var log = function() {
return console.log(arguments);
};
log('a', 'n');
输出:
["a", "n"]
第二种:
var log = function() {
return console.log.apply(console, arguments);
};
log('a', 'n');
输出:
a n
请问这里是什么原理造成的?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第一种情况其实你打印的是arguments这一个变量,所以会输出一个数组。
第二种情况arguments是作为包含所有参数的变量传递给console.log,所以打印的是两个字符。
这就好比有人开车送给你两个西瓜,第一种情况你直接把车收下了,第二种情况你只收下了车里的西瓜。