在Javascript中将窗口变量作为参数传递

在Javascript中将窗口变量作为参数传递,javascript,pass-by-reference,Javascript,Pass By Reference,通过JS传递窗口全局变量似乎不起作用。以下代码为真: window.nada=true; 塔塔(window.nada); console.log(window.nada); 功能塔塔(拉拉){ 拉拉=假; }从技术上讲,JavaScript使用 实际上,您必须传递整个窗口对象,以及要更改的属性的名称: tata(window, 'nada'); function tata(window, prop) { window[prop] = false; } 您的窗口.nada是一种基本数据

通过JS传递窗口全局变量似乎不起作用。以下代码为真:

window.nada=true;
塔塔(window.nada);
console.log(window.nada);
功能塔塔(拉拉){
拉拉=假;

}
从技术上讲,JavaScript使用

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

tata(window, 'nada');

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

您的
窗口.nada
是一种基本数据类型(
布尔值)


基元数据类型按值传递给函数,而不是按引用传递给函数。因此,在您的
tata
函数中,
lala
变量不知道有关
窗口的任何信息。nada

必须在tada中引用窗口对象或将窗口对象传递给tada。这是否回答了您的问题?即使它是一个物体;简单地分配给
lala
不会改变
窗口中的任何内容。它只是改变了拉拉,以引用一个不同的对象。