js的if判断条件

JS中IF判断条件:

非空即为真,非0即为真
  1. 字符串参与判断时:非空即为真
    判断字符串为空的方法
if(str!=null && str!=undefined && str !='')
可简写为
if(str){
    console.log(str)
}
  1. 数字参与if判断:非0非NAN即为真

    var i = 0;
    if(i){
        alert('here');
    }else{
        alert('test is ok!');
    } 输出结果为test is ok
    
  2. null类型参与判断

    var i =null;
    if (i){
        alert("1")
    }else{
      alert("2")
    }输出结果为2
    
  3. undefined参与判断

    var i;
    if (i){
        alert("1")
    }else{
      alert("2")
    }输出结果为2
    

    总结:数字参与判断时非0即为真,字符串参与判断时非空即为真,对象参与判断时非null非undefined即为真({}也为真)

  • 在javascript中,哪些值能作为if的条件呢
  1. 布尔变量true/false

  2. 数字非0,非NaN/ (0 或NaN)

    见下面的例子,莫以为负数就以为if语句为假了。

    代码如下:

var i = -1;
if(i){
 alert('here');
}else{
 alert('test is ok!');
}输出结果为here
  1. 对象null/(null或undefined)

  2. 数组
    无论是空数组还是非空数组,都是true;
    可以通过arr.length来进行判断;

  3. 字符串非空串(“”)/空串("")

    综上所述,对于字符串,不用写一大堆if(str!=null && str!=undefined && str !=''), 只要用一句

if(str){
  //do something
}
就可以了。

对于数字的非空判断,则要考虑使用isNaN()函数,NaN不和任何类型数据相等,包括它本身,只能用isNaN()判断。对于数字类型,if(a)语句中的a为0时if(a)为假,非0时if(a)为真:
var b;
var a = 0;
a = a + b;
if(a){
 alert('1');
}else{
 alert('2');
}
if(isNaN(a)){
 alert('a is NaN');
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 判断条件中什么为假:假: false null NaN undefined 0 空字符串运算 (+ - * ...
    warmT_阅读 176评论 0 0
  • 第一部分 变量及基础数据类型 一、引入js文件及变量 1、外部引入js:body最后一行上输入:,内嵌式:在内输入...
    836a4e8394dc阅读 321评论 0 0
  • // js中的判断操作语句 /* * if/else/else if */ { let num = 12; if(...
    路上灵魂的自由者阅读 4,709评论 0 0
  • * 基础知识 * js的输出方式 * js的组成 * js的命名规范 * 数据类型 * number数据类型 * ...
    web前端ling阅读 1,023评论 0 2
  • JavaScript 1 初识JavaScript 1.1 JavaScript 是什么 JavaScript 是...
    SY阅读 250评论 0 2