为什么arguments对象在这里给出了意想不到的结果
console.log("the arguments are" + arguments);
console.log(arguments); // returns the correct arguments
第一个返回the arguments are[object Arguments]
而第二个返回正确的论点......为什么会这样?当我用它连接一个字符串?
答案 0 :(得分:1)
因为console.log
在后台做了不同的事情。你的第一个电话
console.log("Arguments: "+arguments);
将在后台调用toString
方法。第二次电话
console.log(arguments);
正确打印对象,导致它未转换为字符串(未调用toString
方法)。
执行此操作时,您获得与第一个相同的结果:
console.log(arguments.toString());
您可能想要做的是:
console.log("Arguments:", arguments);
您可以通过用逗号分隔它们来添加任意数量的对象。