Joã*_*imo 3 javascript scope global function global-variables
有没有一种方法,以防止功能使用全局变量,如document
,window
,navigator
,和其他声明的全局函数?
编辑1:如果我可以选择受限制的全局对象,那将是很好的,因为我想允许该函数用作示例Math对象及其函数...
小智 5
有没有办法阻止函数使用全局变量,如文档,窗口,导航器和其他声明的全局函数?
不,除非......
这项任务唯一可行的方法是,如果可以改变函数的词法范围 - 也就是说,以某种方式修改源代码,例如如下所示包装它.
想像:
;(function () {
var window = "Hello"
// original content
function foo () {
alert(window)
}
foo()
})()
Run Code Online (Sandbox Code Playgroud)
这种方法经常在库中用于创建私有命名空间,但在这些情况下,原始源也是可用的,并且考虑到这一点而设计.我之前用过这个document
来改变 jQuery的本地版本.
虽然with
最初可能看起来很有希望,但重要的是要意识到它只是一个词法结构,并没有引入动态变量.
快乐的编码.
归档时间: |
|
查看次数: |
505 次 |
最近记录: |