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

 我来答
慕名eib31
推荐于2017-09-20 · TA获得超过1923个赞
知道小有建树答主
回答量:1163
采纳率:85%
帮助的人:452万
展开全部
首先,变量=true这个是会出错的,因为变量被赋值为true了,正确写法变量==true。或者养成习惯,true==变量,将变量写在后面,就不容易出现赋值的错误了。

if(判断表达式){
执行内容

}

如果判断表达式为true,则执行括号中的内容。
这里,变量如果不为0,null,undefined,false,都会被处理为true。只要变量有非0的值或是某个对象,数组,字符串,都会认为true
变量==true,变量为bool值,并且为true,才认为符合。
cs903016
2013-11-29 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1723万
展开全部
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”;
if(a){alert(1) return};//这里a=除0以为的数,或者字符或者obj都表示为真,这里的alert就会执行!

 在来看第二种情况;

var b;
if(b=="")和if(b==null)这里谁会执行呢,当然是后面一种,因为b是没有定义值的,如果是var b="",这样的话就会执行第一种;
b = 1;
if(b==1)和if(b=="1")这里哪一种会执行呢,答案是两种都会执行!因为js的==表示的是数值相等;
谢谢,希望楼主可以理解!

 还有就是楼主的这种情况:

var c;
c=0;
if(c==false)会不会执行呢,答案是肯定的;
c=1;
if(c==true)也一样会执行!但是我们看下面这样会执行么?
c=2或者c="admin"
if(c==true)alert(1)这句话会执行么,答案是否定的,因为默认表示的是,0为false而1为true,对于其他的就没有这么定义,所以这里不会执行,当然如果你是这样if(c)那这里就会执行了!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wojiushiwoltq
2013-11-29 · TA获得超过875个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:358万
展开全部
if(变量) 就看这个变量是true还是false,if语句可能为真也可能为假

if(变量=true)先赋值 变量=true,所以变量一直是true,这个if语句一直是真
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zrdlut
2013-11-29 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:87.9万
展开全部
应该是 变量 == true 吧

没有区别,js会自动把变量转换为bool,你也可以手动转换:!!变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cqh46
2013-11-29 · TA获得超过3292个赞
知道大有可为答主
回答量:2149
采纳率:100%
帮助的人:1270万
展开全部
第二个应该是
if(变量==true)

第一个 既可以判断 true/false 也可以判断是否 null
第二个 就只能判断 true/false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式