繁体   English   中英

Javascript(如果条件不适用于Chrome扩展程序)

[英]Javascript if condition not working in Chrome Extension

我有以下代码:

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

如果我正确理解了您的问题,那么,您只想将变量maxArrayLength的值与Array.length进行比较,因此请使用==运算符代替===。

例如

<!DOCTYPE html>
<html>
 <body>

 <p>Click the button to create an array, then check it's length.</p>

 <button onclick="myFunction()">Try it</button>

 <p id="demo"></p>

 <script>
 function myFunction() {
    var fruits = ["Banana", "Orange", "Apple", "Mango"];        
    var maxArrayLength= 4;

   if (fruits.length == maxArrayLength){
     alert("Array length equals maxArrayLength");
   }

}
</script>

</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM