如果声明为真但未执行

Nie*_*els 1 javascript jquery if-statement

以下javascript代码并不是我所期望的.这是在ajax调用的成功执行的代码,但是:虽然在$ .each value1.html_id和redraw或reload的某些轮次相等(并且它们都是字符串),if(){}代码永远不会被执行.我在这里错过了什么?

if语句外部的console.log()被执行,我可以看到值是相同的,但if的{}中的代码永远不会被执行

success: function(result) {
    activaTab(tab_id);
    $.each(tables, function(key, value1) {
        console.log(value1.html_id + redraw + reload)
        if (value1.html_id == redraw) {
            console.log('works');
            value1.table.columns.adjust().draw();
        }
        if (value1.html_id == reload) {
            console.log('works2');
            value1.table.ajax.reload(null, false);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

控制台每次都看起来像这样(在ifs之外的324行)

scr_table2.js:324 scr-tablescr_tablescr_table1
scr_table2.js:324 scr-table1scr_tablescr_table1
scr_table2.js:324 scr-table2scr_tablescr_table1
scr_table2.js:324 scr-table3scr_tablescr_table1
Run Code Online (Sandbox Code Playgroud)

glc*_*ham 5

我不确定这是不是一个错字,但"scr-table"不等于"scr_table".

他们不同 - 第一个有a -和第二个_

===在比较JavaScript中的相等值时,您还应该使用运算符.它不会尝试强制类型,因此您可以获得真正的平等比较.