0
是否可以在JavaScript中命名函數參數window
(如果所述參數在運行時對應於窗口對象)?可以在JavaScript中命名函數參數窗口嗎?
總之我想將窗口對象注入函數以提高可測試性,但我知道這會隱藏直接訪問函數內的窗口對象與所述參數。
是否可以在JavaScript中命名函數參數window
(如果所述參數在運行時對應於窗口對象)?可以在JavaScript中命名函數參數窗口嗎?
總之我想將窗口對象注入函數以提高可測試性,但我知道這會隱藏直接訪問函數內的窗口對象與所述參數。
window
不是reserved keyword,所以如果您願意,您可以命名參數window
。
使用變量/參數是IIFE的共同幫助最小化和保持window
常量的值,你會經常看到這樣
(function(window, undefined) {
// code
})(window);
的東西,還有比也許是真的沒有這個問題,其他如果你決定使用類似
function stuff(window) {
window.value = 'woot';
}
stuff(document.querySelector('input')); // confusing ?
這是混淆。
我打算說和@adeneo一樣的東西,但是我想補充一句,可能造成這樣的混亂並不是一個好主意。你不必稱之爲「窗口」,是嗎? – vogomatix
這是*變量shadowing *,您在新範圍中使用該符號,與其原始上下文無關。 –