返回空白的Javascript变量
我正在测试此代码:返回空白的Javascript变量,javascript,Javascript,我正在测试此代码: 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 i
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);
由于某种原因,警报为空
知道为什么吗。你确定value.cat是“3”而不是3吗?您可以通过记录typeof value.cat轻松找到。由于您使用的是deep equal,因此只有当值和类型都相同时,它才会返回true:
'3' === 3 // -> false
'3' == 3 // -> true
value.cat显然不是“3”。使用调试器,您的问题在另一个城堡中。即使你的value.cat==3。。。它不等于'3'。我建议你把你的等于改为==。三重相等意味着比较类型和值。。。但是,如果value.cat是数字,它将与测试不匹配,因为它们是字符串。它是3还是“3”?你也听说过吗?你为什么使用===instade of==?我认为===表示严格相同的对象,以获得更好的结果使用切换案例