Chr*_*ich 10 javascript scope window
我们看到这种方法一直在使用:
(function (window) {
var document = window.document,
location = window.location,
navigator = window.navigator;
})(window)
Run Code Online (Sandbox Code Playgroud)
在研究上面的代码片段时,我想知道为什么像全局可访问的对象window作为参数传递给函数.可能是这样的:
你怎么看?
它使代码更加可移植。
您可以将代码复制并粘贴到未定义全局窗口对象(例如节点)的环境中,但 API 与您在代码中关心的所有内容兼容。然后你只需修改传递给函数的参数即可。
稍微修改一下,使代码更清晰:
(function(root){
var document = root.document,
location = root.location,
navigator = root.navigator;
})(window)
Run Code Online (Sandbox Code Playgroud)