HTML5 APP开发从入门到精通(微课精编版)
上QQ阅读APP看书,第一时间看更新

3.4 表达式和运算符

JavaScript运算符比较多,表达式的形式也比较灵活,它们是JavaScript编程的基础,需要读者认真学习。

3.4.1 表达式

表达式是可以运算,且必须返回一个确定的值的式子。表达式一般由常量、变量、运算符和子表达式构成。

最简单的表达式可以是一个简单的值、常量或变量。例如:

值表达式的返回值为它本身,而变量表达式的返回值为变量存储或引用的值。

把这些简单的表达式合并为一个复杂的表达式,那么连接这些表达式的符号就是运算符。运算符就是根据特定算法定义的执行运算的命令。

示例】在本示例代码中,变量a、b、c就是最简单的变量表达式。1和2是最简单的值表达式,“=”和“+”是连接这些简单表达式的运算符,最后形成3个稍复杂的表达式:“a = 1”“b = 2”和“c = a + b”。

     var a = 1, b = 2;
     var c = a + b;

3.4.2 运算符

运算符一般使用符号来表示,如+、-、/、=和|等,也有些运算符使用关键字来表示,如delete、void等。根据结合操作数的个数,JavaScript运算符可以分为以下3种类型。

一元运算符:一个运算符能够结合一个操作数,把一个操作数运算后转换为另一个操作数,如++、--等。

二元运算符:一个运算符能够结合两个操作数,形成一个复杂的表达式。大部分运算符都属于二元运算符。

三元运算符:一个运算符能够结合三个操作数,把三个操作数合并为一个表达式,最后返回一个值。JavaScript仅定义了一个三元运算符(?:),它相当于条件语句。

提示:使用运算符应注意如下两个问题。

了解并掌握每一种运算符的用途和用法。特别是一些特殊的运算符,需要识记和不断积累应用技巧。

熟悉每个运算符的运算顺序、运算方向和运算类型。

注意,JavaScript运算符的详细说明请扫码了解。

运算符比较多,用法灵活,要想完全掌握,需要读者认真学习,并不断实践和积累经验。下面通过几个实例讲解特殊运算符的用法。

条件运算符

条件运算符(?:)是JavaScript唯一的一个三元运算符,其语法格式如下。

     condition ? expr1 : expr2

condition是一个逻辑表达式,当其为true时,执行expr1表达式,否则执行expr2表达式。条件运算符可以拆分为条件结构:

     if(condition)
        expr1;
     else
        expr2;

示例1】借助三元运算符的初始化变量值为“no value”,而不是默认的unde fined。下面的代码设计了当变量未声明或未初始化时,为其赋值为"no value";如果被初始化,则使用被赋予的值。

     name = name ? name : "no value";  //通过三元运算符初始化变量的值

逗号运算符

逗号运算符(,)能够依次计算两个操作数并返回第2个操作数的值。

示例2】在本示例中,先定义一个数组a[],然后利用逗号运算符在一个for循环体内同时计算两个变量值的变化。这时可以看到输出数组都是位于二维数组的对角线上,如图3.4所示。

图3.4 逗号运算符的计算效果

void运算符

void运算符指定要计算一个表达式,但是不返回值,其语法格式如下。

     javascript:void (expression)
     javascript:void expression

expression是一个JavaScript标准表达式,表达式外侧的圆括号是可选的。例如:

     <a href="javascript:void(document.forms[0].submit())">提交表单</a>

上面的代码创建了一个超链接,用户单击时不会发生任何事,void(0)计算为0,但在JavaScript上没有任何效果。