在JavaScript中命名函数参数window
是否可以(如果所述参数在运行时对应于窗口对象)?
简而言之,我想将窗口对象注入到函数中以提高可测试性,但我知道这将隐藏对具有所述参数的函数内窗口对象的直接访问。
答案 0 :(得分:1)
window
不是reserved keyword,因此您可以根据需要为参数window
命名。
在IIFE中使用变量/参数是常见的,以帮助最小化并保持window
的值不变,您经常会看到类似
(function(window, undefined) {
// code
})(window);
并且确实没有问题,除了你决定使用
之类的东西可能会造成混淆function stuff(window) {
window.value = 'woot';
}
stuff( document.querySelector('input') ); // confusing ?
令人困惑。