【发布时间】:2014-10-19 09:42:13
【问题描述】:
我只是想在循环中使用这个 If 语句,但由于某种原因我无法弄清楚它不起作用
chrome.storage.sync.get({
probeAmount: '1'
}, function(items) {
probeavailable = document.getElementById("probeValue").innerHTML;
console.log(probeavailable);
console.log(items.probeAmount);
if(probeavailable > items.probeAmount) {
//code
}
else {
//something else
}
});
console.log(probeavailable) 记录数字 14 和 console.log(items.probeAmount) 记录数字 3,但 If 语句每次都转发到 else 部分。
有人知道为什么会这样吗?
【问题讨论】:
-
"14" > "3" 返回 false。将其转换为 int。
-
您确定它们是您认为的数据类型吗?试试
typeof probeavailable和typeof items.probeAmount。 -
有什么要提的。
chrome.storageAPI 与 HTMLlocalStorage不同,它会即时进行 JSON 转换。因此,对于数值,将其存储为数字更有意义,即{probeAmount: 1}
标签: javascript if-statement google-chrome-extension operators