将 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
值
一无所知
通过 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
值