gpt4 book ai didi

javascript - 什么(浏览器插件?)将 p 定义为字符串 www311

转载 作者:行者123 更新时间:2023-11-28 01:32:19 25 4
gpt4 key购买 nike

我有声明函数 p() 的代码,但它在某些用户上似乎随机失败。调试显示p已经被声明为字符串“www311.”。我们代码中的任何内容都不包含此类字符串,因此它必须来自浏览器。

我怀疑浏览器插件,但无法弄清楚是什么。以下用户代理收集了上述错误:

Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)

Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36(KHTML,如 Gecko)Chrome/33.0.1750.117

Mozilla/5.0(Windows NT 6.1;WOW64;rv:27.0)Gecko/20100101 Firefox/27.0

最佳答案

我认为真正的问题是你的代码中有这些全局变量:)

使用 IIFE封装您的代码。

转动这个:

 //your code
function p(){
}
// this is in the global namespace.

进入此:

 (function(){ // functions get their own scope
//your code
function p(){ // p is no longer global
}
})(); // note that the function is immediately invoked here so you get the same result.

或者,您可以使用模块加载器,例如 RequireJS这将解决全局问题。由于您也将模块放入函数中 - 您不必担心全局变量。

这里是an interesting read about it from Addy Osmani's "Learning JavaScript design patterns"

关于javascript - 什么(浏览器插件?)将 p 定义为字符串 www311,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21967962/

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