JavaScript 表達式
表示式亦稱表達式、運算式或數(shù)學(xué)表達式,在數(shù)學(xué)領(lǐng)域中是一些符號依據(jù)上下文的規(guī)則,有限而定義良好的組合。數(shù)學(xué)符號可用于標定數(shù)字(常量)、變量、操作、函數(shù)、括號、標點符號和分組,幫助確定操作順序以及有其它考量的邏輯語法?!猈ikipedia
表達式可以簡單理解成一種式子,如 2 + 3 就是一種表達式,通常會叫做算術(shù)表達式。
通常表達式用來產(chǎn)生值,任何需要用到值的地方都可以放置表達式。
一個表達式由操作數(shù)與操作符組成,操作數(shù)可以由變量、常量或者另一個表達式表示。
如:
var a = 1;
var b = 2;
var c = 3;
var res = ((a + b) - (c * sqrt(9)));
其中第五行等號右邊就是一個算術(shù)表達式,其由多個算術(shù)表達式組成。
除了函數(shù)調(diào)用的括號,剩下所有括號包裹的都是一個表達式。(注意:表達式并不是一定要括號包括,這里是為了方便劃分)
在等號右側(cè)表達式計算完后,得到一個值,最后會賦值給變量 res,這就是一個賦值表達式。
可以見到表達式無處不在。
注意:有些文獻中會把調(diào)用函數(shù)描述為一個函數(shù)表達式。但通常在JavaScript中會把一種創(chuàng)建函數(shù)的方式描述為函數(shù)表達式,具體可以查閱函數(shù)章節(jié)。
1. 為什么要理解表達式
表達式是一個基礎(chǔ)而又重要的概念,同時又比較抽象,初學(xué)者不好理解。
我個人理解的表達式,就是一種具有規(guī)則、可以得到一個結(jié)果的式子。
理解表達式主要是為學(xué)習(xí)鋪路,大量文獻中都會用到表達式這個關(guān)鍵詞來描述內(nèi)容。
排開這個原因,還有許多表達式是需要單獨學(xué)習(xí)的,如Cron表達式,正則表達式,對表達式的含義有所理解,就很容易接受類似的新名詞,理解他們?yōu)槭裁词潜磉_式。
2. JavaScript 表達式
JavaScript 中的表達式非常細,這些表達式可以組成一行行語句,這里例舉部分,方便讀者結(jié)合理解。
2.1 原始表達式
變量、關(guān)鍵字、字面量都屬于原始表達式。
var num = 1;
num; // 變量 原始表達式
'123'; // 字符串字面量 原始表達式
this; // 關(guān)鍵字 原始表達式
這些原始表達式在程序運行過程中是不會報錯的,這也是最簡單的表達式。
2.2 復(fù)合表達式
原始表達式加上運算符就形成了復(fù)合表達式。
10 * 10; // 兩個數(shù)字字面量 使用乘號連接
2.3 定義表達式
定義表達式及定義一個變量。
var person;
var func;
2.4 初始化表達式
初始化表達式與定義表達式不同,初始化表達式在定義變量的同時對變量做了初始化。
var number = 10000;
var fn = function() {};
除此之外還有非常非常多的表達式,通過這些簡單的表達式,我相信讀者對概念已經(jīng)有了一定的理解。
3. 小結(jié)
表達式的概念很廣泛,特別在數(shù)學(xué)領(lǐng)域更是常見。
在 JavaScript 中,基本所有的語句都能分解成表達式。
理解表達式的概念,可以更好的與他人交流,更容易的參閱文獻,更快速的理解相關(guān)內(nèi)容。
然冬 ·
2025 imooc.com All Rights Reserved |