簡體   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