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

如题所述

首先,变量=true这个是会出错的,因为变量被赋值为true了,正确写法变量==true。或者养成习惯,true==变量,将变量写在后面,就不容易出现赋值的错误了。

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

}

如果判断表达式为true,则执行括号中的内容。
这里,变量如果不为0,null,undefined,false,都会被处理为true。只要变量有非0的值或是某个对象,数组,字符串,都会认为true
变量==true,变量为bool值,并且为true,才认为符合。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-29
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)那这里就会执行了!

本回答被提问者采纳
第2个回答  2013-11-29
if(变量) 就看这个变量是true还是false,if语句可能为真也可能为假

if(变量=true)先赋值 变量=true,所以变量一直是true,这个if语句一直是真
第3个回答  2013-11-29
应该是 变量 == true 吧

没有区别,js会自动把变量转换为bool,你也可以手动转换:!!变量
第4个回答  2013-11-29
第二个应该是
if(变量==true)

第一个 既可以判断 true/false 也可以判断是否 null
第二个 就只能判断 true/false

javascript中 if(变量)和if(变量=true)的区别
首先,变量=true这个是会出错的,因为变量被赋值为true了,正确写法变量==true。或者养成习惯,true==变量,将变量写在后面,就不容易出现赋值的错误了。if(判断表达式){ 执行内容 } 如果判断表达式为true,则执行括号中的内容。这里,变量如果不为0,null,undefined,false,都会被处理为true。只要变量...

javascript中 if(变量)和if(变量=true)的区别
if(变量)就看这个变量是true还是false,if语句可能为真也可能为假 if(变量=true)先赋值 变量=true,所以变量一直是true,这个if语句一直是真

js中各种类型的变量在if条件中是true还是false,jsfalse
javascript中 if(变量)与if(变量=true)的不同 var a;\/\/定义一个变量没有初始化if(a){alert(1)return};\/\/这里不会执行,因为a没有值,所以为false;a=0\/\/这里给a赋值为0if(a){alert(1)return};\/\/在来执行这句话,因为a=0;0代表false,所以还是不执行;a=1或者a=“123”;if(a){a...

javascript中if条件判断的相关细节
在JavaScript中,`if`条件判断语句的适用范围涵盖了多种类型的数据,具体包括布尔值、数字、对象、字符串以及null或undefined。对`if`的使用需对不同类型的数据转换规则有所了解。首先,`if`的条件判断可以接受的值有布尔变量`true`和`false`,其他类型的数据会被隐式转换为`true`或`false`。例如,使用...

javascript中(){}是什么意思?
不知道你说的是什么意思,给你举两个例子吧 if(表达式){要执行的代码} function demo(变量){要执行的代码} var i=1;if(i>0){ document.write("i是正数");} document.write("");function demo(str){ document.write(str);} demo("这是一个测试");

JavaScript中检测变量是否存在求解答
1、普通变量<scripttype="text\/javascript"if(variable){alert('rainman');}<\/script 这时会出现‘variable is not defined’的错误,如果改成下面就会弹出预期的对话框:<scripttype="text\/javascript"if(typeofvariable=='undefined'){alert('rainman');}<\/script 2、 对象的属性<script...

javascript 里面if连接两个条件这样用对不对?
这个不行 格式很简单:if (条件) { } 条件可以是变量,也可以是表达式,比如:var a = 10;var b = 5;var c = 3;if (a) { alert(a);} \/*这个是说,如果a有值或a有返回值,则输出a的值或返回值*\/ if (a>b&&b>c) { alert("True");else alert("False");} \/*这段程序说的是:...

如何使用JavaScript中三元运算符
三元运算符是运算符之一,顾名思义,它是唯一使用三个运算符的运算符,由于其性质,可以说是对if语句的简单重写,布尔值是表示其命题是真或假的两个值,分别写成true和false,主要用于条件分支。下面我们来看三元运算符的具体使用方法。我们先来看看if语句和三元运算符的语法在JavaScript中if条件语句怎么...

javascript 全局变量为什么没有被改变?
myBoolean = true 也就不会执行),而是直接进入 else if 代码块。在 else if 代码块中,myBoolean 并没有被重新赋值,所以 myBoolean 依然保持最开始的值 false。最后:如果想要让一个变量的值改变,代码执行过程中,要有对该变量进行重新赋值的代码,不然最后打印的时候,变量还会是原始值 ...

关于JavaScript的变量的数据类型的判断方法
虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number、String、Boolean、Object、Udefined、Null。其中,Object属于复杂数据类型,Object 由无序的键值对组成。其余几种都属于简单数据类型。注意:变量类型首字母大写,而变量值首字母是小写的。JavaScript不支持自定义类型,所以JavaScript...

相似回答