变量比较

时间:2014-02-21 16:49:11

标签: javascript

我有Javascript的这个简单问题,我想比较两个变量,但不知怎的,它不能正常工作。我甚至检查过变量的类型是否相同。请帮忙。 具体来说,我得到数字警报,我甚至得到当前计数器的警报是5总共是5,虽然我希望它进入“然后”。

function fun(idCount, finalCallback) {
this.idCount = parseInt(idCount);
var counter = 0;
var strings = {};
this.register = function(str, id) {
    counter++;
    strings[parseInt(id)] = str;

    if(counter == this.idCount) {
        alert("Going to override");
        //blabla
    } else {
        alert("Current counter is: " + counter + " Total " + idCount + ". Types: " + typeof counter + " and " + typeof idCount);
    }
}
}

2 个答案:

答案 0 :(得分:2)

试试这个,

function fun(idCount, finalCallback) {
    var self = this;
    this.idCount = parseInt(idCount, 10);
    var counter = 0;
    var strings = {};
    this.register = function(str, id) {
        counter++;
        strings[parseInt(id, 10)] = str;

        if(counter == self.idCount) {
            alert("Going to override");
            //blabla
        } else {
            alert("Current counter is: " + counter + " Total " + idCount + ". Types: " + typeof counter + " and " + typeof idCount);
        }
    }
}

答案 1 :(得分:0)

只是指出,如果使用==,两个对象是否属于同一类型并不重要。

示例:

"0" == 0 // true

要强制进行类型比较,请使用 ===

0 === 0 // true