JavaScript 表达式
表示式亦称表达式、运算式或数学表达式,在数学领域中是一些符号依据上下文的规则,有限而定义良好的组合。数学符号可用于标定数字(常量)、变量、操作、函数、括号、标点符号和分组,帮助确定操作顺序以及有其它考量的逻辑语法。——Wikipedia
表达式可以简单理解成一种式子,如 2 + 3
就是一种表达式,通常会叫做算术表达式。
通常表达式用来产生值,任何需要用到值的地方都可以放置表达式。
一个表达式由操作数与操作符组成,操作数可以由变量、常量或者另一个表达式表示。
如:
var a = 1;
var b = 2;
var c = 3;
var res = ((a + b) - (c * sqrt(9)));
其中第五行等号右边就是一个算术表达式,其由多个算术表达式组成。
除了函数调用的括号,剩下所有括号包裹的都是一个表达式。(注意:表达式并不是一定要括号包括,这里是为了方便划分)
在等号右侧表达式计算完后,得到一个值,最后会赋值给变量 res
,这就是一个赋值表达式。
可以见到表达式无处不在。
注意:有些文献中会把调用函数描述为一个函数表达式。但通常在JavaScript中会把一种创建函数的方式描述为函数表达式,具体可以查阅函数章节。
1. 为什么要理解表达式
表达式是一个基础而又重要的概念,同时又比较抽象,初学者不好理解。
我个人理解的表达式,就是一种具有规则、可以得到一个结果的式子。
理解表达式主要是为学习铺路,大量文献中都会用到表达式
这个关键词来描述内容。
排开这个原因,还有许多表达式是需要单独学习的,如Cron表达式
,正则表达式
,对表达式的含义有所理解,就很容易接受类似的新名词,理解他们为什么是表达式。
2. JavaScript 表达式
JavaScript 中的表达式非常细,这些表达式可以组成一行行语句,这里例举部分,方便读者结合理解。
2.1 原始表达式
变量、关键字、字面量都属于原始表达式。
var num = 1;
num; // 变量 原始表达式
'123'; // 字符串字面量 原始表达式
this; // 关键字 原始表达式
这些原始表达式在程序运行过程中是不会报错的,这也是最简单的表达式。
2.2 复合表达式
原始表达式加上运算符就形成了复合表达式。
10 * 10; // 两个数字字面量 使用乘号连接
2.3 定义表达式
定义表达式及定义一个变量。
var person;
var func;
2.4 初始化表达式
初始化表达
式与定义表达式
不同,初始化表达式
在定义变量的同时对变量做了初始化。
var number = 10000;
var fn = function() {};
除此之外还有非常非常多的表达式,通过这些简单的表达式,我相信读者对概念已经有了一定的理解。
3. 小结
表达式的概念很广泛,特别在数学领域更是常见。
在 JavaScript 中,基本所有的语句都能分解成表达式。
理解表达式的概念,可以更好的与他人交流,更容易的参阅文献,更快速的理解相关内容。