我有以下代码:
if (Array.length === maxArrayLength) {
alert("test1234");
Array= [];
}
当数组
Array
的长度等于变量maxArrayLength
时,它应该显示一条消息,但是,它什么也不做。但是,如果我将
maxArrayLength
替换为2
或其他数字,它将起作用。maxArrayLength
中有一个值,因为当我在console.log(maxArrayLength);
语句之前(和之后)执行if
时,我会得到一个值。如果有帮助,它位于Chrome扩展程序中。
maxArrayLength
来自chrome.local.storage
:chrome.storage.sync.get('maxArray', function (items) {
maxArray = items.maxArrayLength;
console.log(maxArrayLength);
});
此处的
console.log
也适用。我很困惑怎么了?好像if
语句无法访问maxArrayLength
变量...? 最佳答案
根据typeof(maxArrayLength)
检查typeof(Array.length)
。
通过使用===
,您不仅要说值相同,还要说数据类型。
例如:
"3" == 3 // true
"3" === 3 // false
关于javascript - Javascript(如果条件不适用于Chrome扩展程序),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25173120/