可以用JavaScript命名函数参数窗口吗?

可以用JavaScript命名函数参数窗口吗?,javascript,testing,Javascript,Testing,是否可以在JavaScript中命名函数参数window(如果所述参数在运行时与window对象相对应) 简而言之,我想将窗口对象注入函数以提高可测试性,但我知道这将隐藏对具有所述参数的函数中窗口对象的直接访问。window不是一个,因此如果需要,可以将参数命名为window 在iLife中,使用变量/参数有助于最小化并保持窗口的值恒定,您经常会看到这样的情况 (function(window, undefined) { // code })(window); 这真的没有什么问题,除

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


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

window
不是一个,因此如果需要,可以将参数命名为
window

在iLife中,使用变量/参数有助于最小化并保持
窗口的值恒定,您经常会看到这样的情况

(function(window, undefined) {

   // code

})(window);
这真的没有什么问题,除了如果你决定使用类似的东西可能会感到困惑之外

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

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

这让人困惑。

我本想说与@adeneo相同的话,但我想补充一点,造成这种可能的困惑不是一个好主意。您不必将其称为
窗口
,是吗?这是变量阴影,您在一个新范围内使用符号,它与其原始上下文无关。