今天在写点击单选option,根据val显示隐藏各自的内容时,遇到一些小问题,在进行if判断时一直执行为真,经排查当if(a),当a=0时是为真的,于是用typeof 显示类型,发现此时a为string类型。
a=$('input[name="format"]:checked').val();
if(0){
console.log('init 0 为真')
}
else
{
console.log('init 0 为假')
}
if('0'){
console.log('char 0 为真')
}
else
{
console.log('char 0 为假')
}
console.log(typeof a)
打印结果:
后来百度一下原因,原来是:在js中任何一个值,只要它不是 undefined、null、 0、NaN或空字符串(""),那么无论是任何对象,即使是值为假的Boolean对象,在条件语句中都为真。