[英]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.