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

JavaScript018

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。

用 typeof 就行

比如,你要判断变量abc是不是存在,那么就用

if(typeof abc === 'undefined'){

console.log("不存在");//打印 不存在

}

当然如果你声明了变量没有赋值,也能进if,比如:

var bcd

if(typeof bcd=== 'undefined'){

console.log("bcd不存在")//打印 bcd不存在

}

通过循环数组的方式,进行比较变量值是否在数组中。

1、定一个数组

var arr = ['1','3','a']//定义一个数组

2、循环判断

for(var i=0i<arr.lengthi++){//通过length属性获取数组长度,循环遍历数组元素

if(arr[i]==a){//通过==比较数组元素是否和变量a的值相等

//在数组中存在

}

}