将 window 变量作为 Javascript 中的参数传递

Pass window variable as parameter in Javascript

通过 JS 传递一个 window 全局变量似乎不起作用。以下代码打印为真:

window.nada = true;
tata(window.nada);
console.log(window.nada);

function tata(lala) {
  lala = false;
}

如何影响tata函数中的window.nada全局变量

从技术上讲,JavaScript 使用 call-by-sharing

实际上,您必须传递整个 window 对象,以及要更改的 属性 的名称:

tata(window, 'nada');

function tata(window, prop)
{
  window[prop] = false;
}

您的 window.nada 是原始数据类型 (Boolean)。

原始数据类型按值而不是按引用传递给函数。所以在你的 tata 函数中, lala 变量对 window.nada

一无所知