本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者|慕课网精英讲师 然冬

表示式亦称表达式、运算式或数学表达式,在数学领域中是一些符号依据上下文的规则,有限而定义良好的组合。数学符号可用于标定数字(常量)、变量、操作、函数、括号、标点符号和分组,帮助确定操作顺序以及有其它考量的逻辑语法。——Wikipedia

表达式可以简单理解成一种式子,如 2 + 3 就是一种表达式,通常会叫做算术表达式。

通常表达式用来产生值,任何需要用到值的地方都可以放置表达式。

一个表达式由操作数与操作符组成,操作数可以由变量、常量或者另一个表达式表示。

如:

var a = 1;
var b = 2;
var c = 3;

var res = ((a + b) - (c * sqrt(9)));
代码块12345
其中第五行等号右边就是一个算术表达式,其由多个算术表达式组成。

除了函数调用的括号,剩下所有括号包裹的都是一个表达式。(注意:表达式并不是一定要括号包括,这里是为了方便划分)

在等号右侧表达式计算完后,得到一个值,最后会赋值给变量 res,这就是一个赋值表达式。

可以见到表达式无处不在。

注意:有些文献中会把调用函数描述为一个函数表达式。但通常在JavaScript中会把一种创建函数的方式描述为函数表达式,具体可以查阅函数章节。

  1. 为什么要理解表达式
    表达式是一个基础而又重要的概念,同时又比较抽象,初学者不好理解。

我个人理解的表达式,就是一种具有规则、可以得到一个结果的式子。

理解表达式主要是为学习铺路,大量文献中都会用到表达式这个关键词来描述内容。

排开这个原因,还有许多表达式是需要单独学习的,如Cron表达式,正则表达式,对表达式的含义有所理解,就很容易接受类似的新名词,理解他们为什么是表达式。

  1. JavaScript 表达式
    JavaScript 中的表达式非常细,这些表达式可以组成一行行语句,这里例举部分,方便读者结合理解。

2.1 原始表达式
变量、关键字、字面量都属于原始表达式。

var num = 1;

num; // 变量 原始表达式
'123'; // 字符串字面量 原始表达式
this; // 关键字 原始表达式
代码块12345
这些原始表达式在程序运行过程中是不会报错的,这也是最简单的表达式。

2.2 复合表达式
原始表达式加上运算符就形成了复合表达式。

10 * 10; // 两个数字字面量 使用乘号连接
代码块1
2.3 定义表达式
定义表达式及定义一个变量。

var person;

var func;
代码块123
2.4 初始化表达式
初始化表达式与定义表达式不同,初始化表达式在定义变量的同时对变量做了初始化。

var number = 10000;
var fn = function() {};
代码块12
除此之外还有非常非常多的表达式,通过这些简单的表达式,我相信读者对概念已经有了一定的理解。

  1. 小结
    表达式的概念很广泛,特别在数学领域更是常见。

在 JavaScript 中,基本所有的语句都能分解成表达式。

理解表达式的概念,可以更好的与他人交流,更容易的参阅文献,更快速的理解相关内容。

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!


慕课网
29 声望8 粉丝

慕课网,国内深受欢迎的互联网IT技能学习网站,IT教育行业的造梦者,也是前沿技术内容的创造者和传播者!在慕课网,只学有用的。