self.self ==自我检查JavaScript的目标是什么?

use*_*311 5 javascript backbone.js

backbone.js以:

//Establish the root object, `window` (`self`) in the browser, or `global` on the server.  
//We use `self` instead of `window` for `WebWorker` support.  
var root = (typeof self == 'object' && self.self == self && self) ||  
           (typeof global == 'object' && global.global == global && global);  
Run Code Online (Sandbox Code Playgroud)

什么是self.self == self?什么时候可以假?
同样的global.global == global.

Laz*_*ass 0

我想在这里你至少可以找到部分解释。