zoukankan      html  css  js  c++  java
  • js中“||”和“&&”的高级用法

    例1:用于赋值
    &&:从左往右依次判断,当当前值为true则继续,为false则返回此值(是返回未转换为布尔值时的原值哦)
    || : 从左往右依次判断,当当前值为false则继续,为true则返回此值(是返回未转换为布尔值时的原值哦)

    var attr = attr || “”;这个运算经常用来判断一个变量是否已定义,如果没有定义就给他一个初始值,这在给函数的参数定义一个默认值的时候比较有用。因为js不像php可以直接在型参数上定义func($attr=5)。再次提醒你记住上面的原则:如果实参需要是0、""、null、false、undefined、NaN的时候也会当false来处理。 

    var attr = attr || "";的理解  if(attr) {var attr=attr;}else{attr="";}

    // => aaa var attr = true && 4 && "aaa"; // => 0 var attr = true && 0 && "aaa"; // => 100 var attr = 100 || 12; // => e var attr = "e" || "hahaha" // => hahaha var attr = "" || "hahaha"

    例2 经过多次判断的赋值

    /*
    x>=15时 => 4
    x>=12时 => 3
    x>=10时 => 2
    x>=5时 => 1
    x<5时 => 0
    */
    console.log((x>=15 && 4) || (x>=12 && 3) || (x>=10 && 2) || (x>=5 && 1) || 0);

    例3 与对象形式的变量合体

    /*
    x=15 时 => 4
    x=12 时 => 3
    x=10 时 => 2
    x=5 时 => 1
    其它 => 0
    */
    console.log( {'5':1,'10':2,'12':3,'15':4}[x] || 0 );

    例4 用于执行语句

    if(a >=5){alert("你好");}
    //可以写成: 
    a >= 5 && alert("你好");


    参考文章:http://www.jb51.net/article/21339.htm
    https://segmentfault.com/a/1190000002454280
  • 相关阅读:
    arrayAppend.php
    C语言中一个语句太长用什么换行?
    date
    Mysql复制一条或多条记录并插入表|mysql从某表复制一条记录到另一张表
    Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest
    javascript:location=location;">刷新</a>
    TestAbstract
    scanner=new Scanner(System.in); int i=scanner.nextInt();
    public static void Swap2
    JIRA 模块 bug管理工具
  • 原文地址:https://www.cnblogs.com/keyi/p/6992184.html
Copyright © 2011-2022 走看看