在JavaScript中命名函数参数窗口是否可以?

时间:2014-06-27 10:33:13

标签: javascript testing

在JavaScript中命名函数参数window是否可以(如果所述参数在运行时对应于窗口对象)?

简而言之,我想将窗口对象注入到函数中以提高可测试性,但我知道这将隐藏对具有所述参数的函数内窗口对象的直接访问。

1 个答案:

答案 0 :(得分:1)

window不是reserved keyword,因此您可以根据需要为参数window命名。

在IIFE中使用变量/参数是常见的,以帮助最小化并保持window的值不变,您经常会看到类似

的内容
(function(window, undefined) {

   // code

})(window);

并且确实没有问题,除了你决定使用

之类的东西可能会造成混淆
function stuff(window) {
    window.value = 'woot';
}

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

令人困惑。