console.log 绑定问题

第一种:
varlog=function(){
returnconsole.log(arguments);
};
log('a','n');
输出:
["a","n"]
第二种:
varlog=function(){
returnconsole.log.apply(console,arguments);
};
log('a','n');
输出:
an
请问这里是什么原理造成的?
小怪兽爱吃肉
浏览 318回答 2
2回答

翻翻过去那场雪

第一种情况其实你打印的是arguments这一个变量,所以会输出一个数组。第二种情况arguments是作为包含所有参数的变量传递给console.log,所以打印的是两个字符。这就好比有人开车送给你两个西瓜,第一种情况你直接把车收下了,第二种情况你只收下了车里的西瓜。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript