Javascript三元运算符号

三元运算符又称为三目运算符,指的是根据不同的条件,执行不同的操作/返回不同的值。

语法结构为:条件 ? 操作1 : 操作2。 如果条件为真,执行操作1,否则执行操作2。

(条件) ? 表达式1 : 表达式2

上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。

例如:  var even = (n % 2 === 0) ? true : false;

上面代码中,如果n可以被2整除,则even等于true,否则等于false。它等同于下面的形式。

var even;

if (n % 2 === 0) {

even = true;

} else {

even = false;

}

这个三元运算符可以被视为if...else...的简写形式,因此可以用于多种场合。

多条件的情况:

(条件) ? 表达式1 : 表达式2

上面代码中,如果“条件”为true,则返回“表达式1”的值,否则返回“表达式2”的值。

例如:var even = (n % 2 === 0) ? true : false;

上面代码中,如果n可以被2整除,则even等于true,否则等于false。它等同于下面的形式。

var even;

if (n % 2 === 0) {

even = true;

} else {

even = false;

}

 

一个例子

function reverseAlpha(arr) {
  return arr.sort(function(a, b) {
    return a === b ? 0 : a < b ? 1 : -1;
  });
}

reverseAlpha(['l', 'h', 'z', 'b', 's']);

这将返回值['z', 's', 'l', 'h', 'b']

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...