-3

我正在测试这段代码:

var thecol = '';

// Note: I know that value.cat = '3'

if (value.cat === '1') {
        thecol = 'cat1';
    } else if (value.cat === '2') {
        thecol = 'cat2';
    } else if (value.cat === '3') {
        thecol = 'cat3';
    } else if (value.cat === '4') {
        thecol = 'cat4';
    } else if (value.cat === '5') {
        thecol = 'cat5';
    };

alert(thecol);

由于某种原因,警报为空白。

任何想法为什么。

4

1 回答 1

3

你确定那value.cat'3'不是3?您可以通过登录轻松找到typeof value.cat。由于您使用的是深度相等,因此只有在两者的值和类型相同时才会返回 true:

'3' === 3 // -> false
'3' == 3 // -> true
于 2012-08-29T15:45:07.323 回答