javascript - 当名称被参数覆盖时函数访问自身

标签 javascript

通常,函数可以像这样访问自身:

(function f() {
    console.log(f); // Prints the function definition
}());

但是,当函数 f 有一个也称为 f 的参数时,参数优先:

(function f(f) {
    console.log(f); // Prints 1
}(1));

在第二个示例中,当其中一个参数与函数同名时,如何访问该函数?

[此外,我在哪里可以找到说明参数应优先于函数名的文档?]

最佳答案

你不知道。只需遵循这个简单的规则

Don't shadow (or redeclare in a more specific scope) any variable that you want to use.

注意:arguments.callee 将为此工作,但仅限于某些实现。它实际上正在逐步被淘汰,并且很可能在未来完全消失。

关于javascript - 当名称被参数覆盖时函数访问自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468068/

相关文章:

javascript - Three.js:手动创建的几何体

javascript - IE9 - Mime 类型不匹配 - 对象不支持属性

javascript - 如何获取选择数组中元素的索引?

javascript - 提及后返回消息

javascript - 将多个参数传递给 page.evaluate()

javascript - 弹出框自动关闭

javascript - 如何在Electronic JS中使用语音识别

javascript - 用图像替换文本会调用 "IE has restricted this page from running scripts or ActiveX"

javascript - blueimp jquery fileup 与 requriejs 不工作

java - 链接中的 HtmlUnit 和 JavaScript