2014-06-27 88 views
0

是否可以在JavaScript中命名函數參數window(如果所述參數在運行時對應於窗口對象)?可以在JavaScript中命名函數參數窗口嗎?

總之我想將窗口對象注入函數以提高可測試性,但我知道這會隱藏直接訪問函數內的窗口對象與所述參數。

+0

我打算說和@adeneo一樣的東西,但是我想補充一句,可能造成這樣的混亂並不是一個好主意。你不必稱之爲「窗口」,是嗎? – vogomatix

+0

這是*變量shadowing *,您在新範圍中使用該符號,與其原始上下文無關。 –

回答

1

window不是reserved keyword,所以如果您願意,您可以命名參數window

使用變量/參數是IIFE的共同幫助最小化和保持window常量的值,你會經常看到這樣

(function(window, undefined) { 

    // code 

})(window); 

的東西,還有比也許是真的沒有這個問題,其他如果你決定使用類似

function stuff(window) { 
    window.value = 'woot'; 
} 

stuff(document.querySelector('input')); // confusing ? 

這是混淆。

相關問題