您的位置:首页 > 其它

1.执行环境判断 window 或 self

2017-11-14 10:43 281 查看

window
 or 
self
 ?

在 underscore 的判断所处环境的代码中,似乎我们没有看到 

window
 对象的引用,其实,在浏览器环境下,
self
 保存的就是当前 
window
 对象的引用。那么相比较于使用 
window
,使用 
self
 有什么优势呢?我们看到 MDN 上有这么一句话:

The Window.self read-only property returns the window itself, as a WindowProxy. It can be used with dot notation on a window object (that is, window.self) or standalone (self). The advantage of the standalone notation is that a similar notation exists for non-window contexts, such as in Web Workers.

概括来说,就是 

self
 还能用于一些不具有窗口的上下文环境中,比如 Web Workers。所以,为了服务于更多场景,underscore 选择了更加通用的 
self
 对象。

!(function(){
var root = (typeof self == "object" && self.self === self && self) || (typeof global == "object" && global.global === global && global) || this;
});

  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: