本地JavaScript構造函數/函數像Function
,Object
,Array
是否總能在任何範圍內使用?它們是由全局對象或類似的甚至更高級別的東西繼承的?本機JavaScript的功能是否像「superglobals」一樣?
作爲一個例子,MooTools的包含在其自身執行的函數以下行:
var Function = this.Function;
於是我問自己,有沒有在那裏這些本地構造變得不可用任何情況呢?也許在服務器端或嚴格的JS?或者它只是一個性能問題緩存本地參考?但是,如果是這樣,爲什麼不這樣做是這樣:
var Function = Function;
本地構造函數是全局對象(全局對象的屬性),所以是的,它們始終可用。 – 2012-04-15 13:50:49
@ŠimeVidas,這不是永恆的真實。我可以輕易覆蓋它們,例如'Function = 6;'之後有一些棘手的方法來引用它們,但是全局引用肯定會以這種方式丟失。 – davin 2012-04-15 13:52:24