一个分享WordPress、Zblog、Emlog、Typecho等主流博客的教程网站!
当前位置:网站首页 > 其他相关教程 > 正文

es5或运算符(||)

作者:xlnxin发布时间:2023-07-22分类:其他相关教程浏览:240


导读:或运算符(||)也用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为false,...

或运算符(||)也用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为false,则返回第二个运算子的值。短路规则对这个运算符也适用。


't' || '' // "t"

't' || 'f' // "t"

'' || 'f' // "f"

'' || '' // ""


var x = 1;

true || (x = 2) // true

x // 1

上面代码中,且运算符的第一个运算子为true,所以直接返回true,不再运行第二个运算子。所以,x的值没有改变。这种只通过第一个表达式的值,控制是否运行第二个表达式的机制,就称为“短路”(short-cut)。


function saveText(text) {

  text = text || '';

  // ...

}


// 或者写成

saveText(this.text || '')

或运算符常用于为一个变量设置默认值。上面代码表示,如果函数调用时,没有提供参数,则该参数默认设置为空字符串。