Secrets of the JavaScript Ninja解释 arguments
关键字与 merge()
函数:
function merge(root){
for (var i = 1; i < arguments.length; i++) { // starts at i = 1, not 0
for (var key in arguments[i]) {
root[key] = arguments[i][key];
}
}
return root;
}
var merged = merge(
{name: "Batou"},
{city: "Niihama"});
注意断言:
assert(merged.name == "Batou",
"The original name is intact.");
assert(merged.city == "Niihama",
"And the city has been copied over.");
为什么merged.name
等于Batou
而不是undefined
?
据我了解,由于 merge()
不会查看外部 for 循环中的第一个参数,因此 name: Batou
如何添加到 根
?
最佳答案
root
本身是第一个参数,因此我们不需要将其中的任何成员添加到其自身中。
关于javascript - `arguments` JavaScript 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792369/