js中 if(a==1)和if(a==true)这两个是都可以使用而且效果一样的么?还是有区别,或者只推荐用其中一个啊?
这要看你的a是什么东西了,1和true不是一个类型的值,一个是int值,一个是bool值,针对于不同的情况使用不同,就比如要判断a是否等于1,就用1,或者a是变量名,判断一个按钮是否点击了确定,就用true,返回值不同,
这是一个语言类型的问题:题主的问题可以描述成,JS中,1和true有什么区别
1可以代表两种类型的值:布尔值和整型值(数值型的值);
JS中,可以使用0代表false,使用1代表true,反过来也成立;
可以通过这个例子理解一下:
如果:var a = true,或false,或1,或0;
那么:if(a==true){} 和 if(true==a){} 和 if(a){} 和 if(a==1){} 其结果是一样的;
给两个有意思的例子,题主可以试一下:
例子一:
var a = true;
if (2 == (a+true)) {
document.getElementById('test_p7').innerHTML = '1等于true';
}
例子二:
var a = 1;
if (a) {
document.getElementById('test_p7').innerHTML = '1等于true';
}
有区别使用第二个