我一直認(rèn)為,要學(xué)會(huì)像程序員一樣思考,就不僅僅是認(rèn)真嚴(yán)肅的看代碼這么簡(jiǎn)單,而是要詳細(xì)的理解計(jì)算機(jī)的發(fā)展以及計(jì)算機(jī)的歷史,甚至于更深入的去了解數(shù)學(xué)和科學(xué)的一些常見(jiàn)的本質(zhì)。今天我希望使用最淺顯易懂的語(yǔ)言來(lái)為大家解讀計(jì)算機(jī)領(lǐng)域內(nèi)你常常忽略的一些概念。
- 本文面向讀者為 了解常用計(jì)算機(jī)知識(shí)或了解常用數(shù)學(xué)知識(shí)的人群。若你是文科生,又恰恰不是很了解數(shù)學(xué),也許你會(huì)感到迷茫。
- 本文使用用例為JavaScript語(yǔ)言
變量(Variables)
變量從來(lái)都不是計(jì)算機(jī)領(lǐng)域的專有名詞,在我們學(xué)習(xí)數(shù)學(xué)的時(shí)候,就已經(jīng)存在了變量的概念。
variables在英語(yǔ)里面解析為可變因素,變化的等等。變量在數(shù)學(xué)領(lǐng)域常用拉丁字母來(lái)表示,因?yàn)樽兞康母拍畋旧砭团c常數(shù)相反(常數(shù)是定值,只能表示一個(gè)真實(shí)值),所以變量使用字母來(lái)表示一個(gè)非常量數(shù)據(jù)。數(shù)學(xué)領(lǐng)域還細(xì)化變量為自變量和因變量,簡(jiǎn)單的說(shuō)自變量就是你人為帶入的值,是主動(dòng)自行變化的變量,而因變量是因?yàn)樽宰兞孔兓兓某A俊?例如下面的公式,E就是因變量,而m就是自變量。
如常見(jiàn)的數(shù)學(xué)公式:
質(zhì)能方程
JavaScript 變量是你存儲(chǔ)數(shù)據(jù)的容器。要聲明一個(gè)變量你需要使用關(guān)鍵字 var(是不是與Variables有著一絲絲聯(lián)系?:D),然后輸入任何你想要的名稱作為其引用即可,此時(shí)也就是顯式聲明了一個(gè)變量demo。

表達(dá)式(Expression)
expression在英語(yǔ)中意思為表現(xiàn)/表達(dá)/表情/眼神/態(tài)度/語(yǔ)氣等等,expression in one's eyes意思為眼神。表達(dá)式翻譯在我感覺(jué)是有一定的偏差的,大致的含義是數(shù)據(jù)的一種表現(xiàn)方式(形式),是對(duì)數(shù)據(jù)的一種加工。
表達(dá)式也不是計(jì)算機(jī)領(lǐng)域的專有名詞,在數(shù)學(xué)領(lǐng)域也在就定義了表達(dá)式的概念
math:表達(dá)式是由數(shù)字、算符、數(shù)字分組符號(hào)(括號(hào))、自由變量和約束變量等以能求得數(shù)值的有意義排列方法所得的組合。約束變量在表達(dá)式中已被指定數(shù)值,而自由變量則可以在表達(dá)式之外另行指定數(shù)值。
JavaScript:表達(dá)式是由運(yùn)算符和操作數(shù)來(lái)組成,+ * ()就是運(yùn)算符,而a b 4就是操作數(shù)

- 操作數(shù)(operands)
什么是主要表達(dá)式(primary-expression)?
在C語(yǔ)言參考資料中我找到了一些資料,共有一下幾種語(yǔ)法
雜表達(dá)式
| 表達(dá)式語(yǔ)法 | 表達(dá)式語(yǔ)法解釋 | 表達(dá)式語(yǔ)法示例 |
|---|---|---|
| identifier | 標(biāo)識(shí)符 | 在靜態(tài)語(yǔ)言中,int/double/float |
| constant | 常數(shù),常量 | 常量區(qū)別于變量,只能用實(shí)際的值來(lái)代替,如:13,true ,靜態(tài)語(yǔ)言請(qǐng)參照常量可賦值的具體語(yǔ)法規(guī)則 |
| string-literal | 字符串 | ‘china’,JavaScript動(dòng)態(tài)類型,故與上面相同 |
| ( expression ) | 括號(hào)中的表達(dá)式 | (1+2)*4 若沒(méi)有()則會(huì)改變整個(gè)表達(dá)式的結(jié)構(gòu) |
| expression: | ||
| assignment-expression | 賦值表達(dá)式 | a = b b的值賦給a |
| expression , assignment-expression | 賦值表達(dá)式 |
C 中的操作數(shù)包括常量、標(biāo)識(shí)符、字符串、函數(shù)調(diào)用、下標(biāo)表達(dá)式、成員選擇表達(dá)式以及通過(guò)將操作數(shù)與運(yùn)算符組合或?qū)⒉僮鲾?shù)括在括號(hào)中而形成的復(fù)雜表達(dá)式。 主表達(dá)式中提供了這些操作數(shù)的語(yǔ)法。
- 運(yùn)算符
其實(shí)表達(dá)式本身并沒(méi)有任何意義,只有在表達(dá)式的變量有了值的時(shí)候,表達(dá)式本身才算是有意義。

在計(jì)算機(jī)領(lǐng)域,表達(dá)式最常見(jiàn)的莫過(guò)于正則表達(dá)式(regular expression),這里不在闡述該知識(shí)點(diǎn)。Javascript中常見(jiàn)的表達(dá)式也許就是你所常見(jiàn)的
var demo = 1+2;
運(yùn)算符(operator)
運(yùn)算符的英文單詞為operator,意思是接線員/操作人員/經(jīng)營(yíng)者/運(yùn)算符等含義。運(yùn)算符在計(jì)算機(jī)領(lǐng)域主要是指定要在表達(dá)式中執(zhí)行哪些操作(數(shù)學(xué)、索引、函數(shù)調(diào)用等等)的符號(hào),所以看到運(yùn)算符是依賴于表達(dá)式而存在。
=賦值運(yùn)算符

