gpt4 book ai didi

javascript - 名称中包含无效字符的函数

转载 作者:行者123 更新时间:2023-11-30 17:15:02 25 4
gpt4 key购买 nike

我试图滥用 Chrome 开发工具中的函数名称:

window["hello world"] = function () { console.log("Hello World!"); }

上面的行将创建 hello world 全局函数。

它也出现在自动完成建议中:

如果我们这样调用它 (hello world()),我们会得到一个语法错误,这应该是这样的:

SyntaxError: Unexpected identifier

但是,我们如何在不使用引号的情况下调用此函数 (window["hello world"]())?

最佳答案

您根本没有为函数命名。它是一个匿名函数,分配给 window 对象的属性。

由于属性名称中有空格,您无法使用标识符访问它,因此唯一的方法是显式使用窗口对象。

window["hello world"]();

如果你真的想不使用引号运行函数,那么你可以执行以下操作。请注意,这是一种不正当的 hack,而不是您应该在生产代码中执行的操作。

window["hello world"] = function () { console.log("Hello World!"); }
// No quotes for any of the code used to access the above.
window[
[ 104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100 ].map(
function (currentValue) {
return String.fromCharCode(currentValue);
}
).join(new String)
]();

关于javascript - 名称中包含无效字符的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26275815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com