js判断变量是否赋值(存在)

JavaScript05

js判断变量是否赋值(存在),第1张

如标题所问,常见有的js代码中有如下写法: if(arg){} 通过以上语句来判断变量是否存在,按理说if后应跟着一个boolean的表达式,但arg如果不存在则是undefined,存在则为变量本身存储的值,通过所示的语句如何能准确的判断一个变量是否已定义,该怎么理解呢? 望各位能指点迷津~~~ 问题补充:我知道使用undefined和null来判断一个变量是否定义或为空~~ 但直接把变量放到if的后面,而if需要一个boolean值, 那么使用if(arg)来判断一个变量是否定义,根据是什么呢?

javascript中null,undefined,0,"",false作为if的条件的时候,被认为是flase.

任何值为0、null、未定义或空字符串的表达式被解释为 false。

params = [] 是不等于 params = {} 的。甚至 params = {} , b = {} 然后用if 判断params 和b是否相等也是不成立的,这点我也是很奇怪。

 在js中,这相当于一个赋值语句,如果b的值大于0或为true,那么就把b的值赋给a,否在就把c的值赋给a

布尔值,javascript中以下值会被转换为false

false

undefined

null

0

-0

NaN

""

''