gpt4 book ai didi

javascript - 如何将 javascript 函数锁定到本地范围?我想阻止它使用全局变量

转载 作者:行者123 更新时间:2023-11-29 09:58:47 25 4
gpt4 key购买 nike

有没有办法阻止函数使用全局变量,如 documentwindownavigator 和其他已声明的全局函数?

EDIT1:如果我可以选择哪些全局对象受到限制,那就太好了,因为我想允许该函数使用 Math 对象及其函数作为示例...

最佳答案

Is there a way to prevent a function from using global variables like document, window, navigator, and other declared global functions?

不,除非……

唯一可能完成此任务的方法是函数的词法范围可以更改——也就是说,源代码以某种方式修改,例如如下所示包装它。

想象一下:

;(function () {
var window = "Hello"

// original content
function foo () {
alert(window)
}
foo()

})()

这种方法经常在库中用于创建私有(private)命名空间,但在这些情况下,原始资源也是可用的,并且在设计时就考虑到了这一点。我之前用 document 使用它来改变本地版本的 jQuery。

虽然 with 乍一看可能看起来很有前途,但重要的是要认识到它也只是一个词法结构,并且不会引入动态变量。

快乐编码。

关于javascript - 如何将 javascript 函数锁定到本地范围?我想阻止它使用全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6083597/

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