出于某种原因,如果不使用.push()
,我无法将任何内容分配给全局数组。
(function() {
var globalEmail = [];
var testClear = function() {
var arr = [1, 2, 3];
if (globalEmail.length > 1) {
globalEmail = [];
}
else {
globalEmail = arr;
}
};
window.globalEmail = globalEmail;
window.testClear = testClear;
})();
如果我在控制台中调用
testClear()
然后globalEmail
,则globalEmail
保持不变。 最佳答案
如注释中所述,您在这里丢失引用是因为您将globalEmail
分配给了新数组,因此window.globalemail不同于新的globalemail数组。
您需要就地修改数组(例如,使用splice
和concat
)。
关于javascript - 不使用.push()无法将值分配给全局数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48121693/