Javascript>操作员未在Extension中工作

Javascript > operator not working in Extension

本文关键字:Extension 工作 操作员 gt Javascript      更新时间:2023-09-26

我只是想在循环中使用这个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)记录数字14console.log(items.probeAmount)记录数字3,但是If语句每次都转发到else部分。

有人知道为什么会这样吗?

我的猜测是,它们不是143(数字),而是"14""3"(字符串;probeavailable当然是这样,但我不知道另一个)。14 > 3为真,但"14" > "3"(字符串比较)为假。试着在他们每个人前面放一个+,迫使他们成为数字:

if(+probeavailable > +items.probeAmount) {

或者,如果其中任何一个是用户输入,则使用具有适当基数的parseInt

if(parseInt(probeavailable, 10) > parseInt(items.probeAmount, 10)) {

使用

if(parseInt(probeavailable) > parseInt(items.probeAmount)) {