JS中的二元操作符及三元操作符

JavaScript09

JS中的二元操作符及三元操作符,第1张

二元操作符又叫二元逻辑运算符,是典型的基于boolean(逻辑)值的运算,他们返回的是boolean值。

二元运算符主要包括:

注:&&优先级高于 ||

二元布尔操作符是可进行短路操作的,只有再必要的时候才会计算到最后一项.

三元操作符又叫条件运算符,它将两个结果中其中一个符合运算逻辑的值返回。

三元运算符一般用于替代if条件判断语句。

操作符始终写在前一行,以免分号的隐式插入产生预想不到的问题,正确的书写方式如下所示:

https://www.w3cschool.cn/webdevelopment/jpbfrozt.html

+rad作用是把输入的字符串转换为数值,比如输入a,就会转为0 ===是绝对等于,比如输入a被转为0,就不绝对等于0,那么三元运算符?就不成立,而是:+rad||false +rad||false就是如果+rad不等于0,就取+rad,否则去false

for (var i = 0 i < nodes1.length i++) {

    if (nodes1[i].nodeName == "P" && nodes1[i].nodeType == 1) {

        if(i%2==0){

            nodes1[i].style.backgroundColor = "yellow"

        }else{

            nodes1[i].style.backgroundColor = "red"

        }

    }

}

if(){}else{} 是语句,是没有返回值的,而三元表达式则是表达式,是可以直接赋值的。所以你不能想当然就这么用。

如果你真想获得类似三元表达式的效果,可以这样:

for (var i = 0 i < nodes1.length i++) {

    if (nodes1[i].nodeName == "P" && nodes1[i].nodeType == 1) {

        nodes1[i].style.backgroundColor = function(){

            if(i%2==0){   //把if语句放入一个匿名函数中

                return "yellow"

            }else{

                return "red"

            }

        }()  //立即执行这个匿名函数

    }

}