再会!
我偶然发现了在 JavaScript 领域从未见过的东西,但我想对于更了解该语言的人来说,这很容易解释。下面我有以下功能:(取自书中的代码:“JavaScript Ninja 的秘密”)
function log() {
try {
console.log.apply(console, arguments);
}
catch(e) {
try {
opera.postError.apply(opera, arguments);
}
catch(e) {
alert(Array.prototype.join.call(arguments, " "));
}
}
}
如您所见,该函数是用一个空参数列表定义的,但是当我在本书后面看到他们实际上像这样使用所述函数时,我完全感到困惑......
var x = 213;
log(x); //Hmmm, I thought this function had an empty parameter list.
有人可以向我解释一下,为什么允许/可能调用该函数?支持此功能的 JS 中涉及哪些概念?提前谢谢,我很困惑。
此致,