您的位置:首页 > Web前端 > JavaScript

javascript中 if(变量)和if(变量=true)的区别

2015-08-13 16:28 555 查看
直接上例子: 
true = 1,false =0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>javascript中 if(变量)和if(变量=true)的区别</title>
<script type="text/javascript">
function is1(){
var a;//定义一个变量没有初始化
if(a){
alert(1)
return
}//这里不会执行,因为a没有值,所以为false;
a=0;//这里给a赋值为0
if(a){
alert(1)
return
};//在来执行这句话,因为a=0;0代表false,所以还是不执行;
/*a=1或者a=“123”;*/
a = '123'
if(a){
alert(1)
return
};//这里a=除0以外的数,或者字符或者obj都表示为真,这里的alert就会执行!
}
is1();
function is2(){
var
4000
b;
if(b == ''){
alert('执行了吗');
}else if(b == null){
alert('执行了吗');
}/*if(b=="")和if(b==null)这里谁会执行呢,当然是后面一种,因为b是没有定义值的,如果是var b="",这样的话就会执行第一种;*/

b = 1;
if(b == 1){
alert('执行了吗b=1');
}else if(b == '1'){
alert('执行了吗b=1');
}/*if(b==1)和if(b=="1")这里哪一种会执行呢,答案是两种都会执行!因为js的==表示的是数值相等;*/
}
is2();
function is3(){
var c; c=0;
if(c==false){
alert('执行了吗?');
}/*会不会执行呢,答案是肯定的;*/
c=1;
if(c==true){
alert('执行了吗?');
}/*也一样会执行!但是我们看下面这样会执行么?*/
c = 2;/*c=2或者c="admin"*/
if(c==true)alert(1);/*这句话会执行么,答案是否定的,因为默认表示的是,0为false而1为true,对于其他的就没有这么定义,
所以这里不会执行,当然如果你是这样if(c)那这里就会执行了!*/
}
is3();
</script>
</head>
<body>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript