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 中,基本所有的語句都能分解成表達式。
理解表達式的概念,可以更好的與他人交流,更容易的參閱文獻,更快速的理解相關內容。