亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript 編程精解 中文第三版 一、值,類型和運(yùn)算符

wh469012917 / 2931人閱讀

摘要:來源編程精解中文第三版翻譯項(xiàng)目原文譯者飛龍協(xié)議自豪地采用谷歌翻譯部分參考了編程精解第版在機(jī)器的表面之下,程序在運(yùn)轉(zhuǎn)。本章將會(huì)介紹程序當(dāng)中的基本元素,包括簡單的值類型以及值運(yùn)算符。示例中的乘法運(yùn)算符優(yōu)先級高于加法。

來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目

原文:Values, Types, and Operators

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

自豪地采用谷歌翻譯

部分參考了《JavaScript 編程精解(第 2 版)》

在機(jī)器的表面之下,程序在運(yùn)轉(zhuǎn)。 它不費(fèi)力就可以擴(kuò)大和縮小。 在和諧的關(guān)系中,電子散開并重新聚合。 監(jiān)視器上的表格只是水面上的漣漪。 本質(zhì)隱藏在下面。

Master Yuan-Ma,《The Book of Programming》

計(jì)算機(jī)世界里只有數(shù)據(jù)。 你可以讀取數(shù)據(jù),修改數(shù)據(jù),創(chuàng)建新數(shù)據(jù) - 但不能提及不是數(shù)據(jù)的東西。 所有這些數(shù)據(jù)都以位的長序列存儲(chǔ),因此基本相似。

位是任何類型的二值的東西,通常描述為零和一。 在計(jì)算機(jī)內(nèi)部,他們有一些形式,例如高電荷或低電荷,強(qiáng)信號或弱信號,或 CD 表面上的亮斑點(diǎn)或暗斑點(diǎn)。 任何一段離散信息都可以簡化為零和一的序列,從而以位表示。

例如,我們可以用位來表示數(shù)字 13。 它的原理與十進(jìn)制數(shù)字相同,但不是 10 個(gè)不同的數(shù)字,而只有 2 個(gè),每個(gè)數(shù)字的權(quán)重從右到左增加 2 倍。 以下是組成數(shù)字 13 的位,下方顯示數(shù)字的權(quán)重:

   0   0   0   0   1   1   0   1
 128  64  32  16   8   4   2   1

因此,這就是二進(jìn)制數(shù)00001101,或者8+4+1,即 13。

想象一下位之海 - 一片它們的海洋。 典型的現(xiàn)代計(jì)算機(jī)的易失性數(shù)據(jù)存儲(chǔ)器(工作存儲(chǔ)器)中,有超過 300 億位。非易失性存儲(chǔ)(硬盤或等價(jià)物)往往還有幾個(gè)數(shù)量級。

為了能夠在不丟失的情況下,處理這些數(shù)量的數(shù)據(jù),我們必須將它們分成代表信息片段的塊。 在 JavaScript 環(huán)境中,這些塊稱為值。 雖然所有值都是由位構(gòu)成的,但他們起到不同的作用,每個(gè)值都有一個(gè)決定其作用的類型。 有些值是數(shù)字,有些值是文本片段,有些值是函數(shù),等等。

要?jiǎng)?chuàng)建一個(gè)值,你只需要調(diào)用它的名字。 這很方便。 你不必為你的值收集建筑材料或?yàn)槠涓顿M(fèi)。 你只需要調(diào)用它,然后刷的一下,你就有了它。 當(dāng)然,它們并不是真正憑空創(chuàng)造的。 每個(gè)值都必須存儲(chǔ)在某個(gè)地方,如果你想同時(shí)使用大量的值,則可能會(huì)耗盡內(nèi)存。 幸運(yùn)的是,只有同時(shí)需要它們時(shí),這才是一個(gè)問題。 只要你不再使用值,它就會(huì)消失,留下它的一部分作為下一代值的建筑材料。

本章將會(huì)介紹 JavaScript 程序當(dāng)中的基本元素,包括簡單的值類型以及值運(yùn)算符。

數(shù)字

數(shù)字(Number)類型的值即數(shù)字值。在 JavaScript 中寫成如下形式:

13

在程序中使用這個(gè)值的時(shí)候,就會(huì)將數(shù)字 13 以位序列的方式存放在計(jì)算機(jī)的內(nèi)存當(dāng)中。

JavaScript使用固定數(shù)量的位(64 位)來存儲(chǔ)單個(gè)數(shù)字值。 你可以用 64 位創(chuàng)造很多模式,這意味著可以表示的不同數(shù)值是有限的。 對于N個(gè)十進(jìn)制數(shù)字,可以表示的數(shù)值數(shù)量是10^N。 與之類似,給定 64 個(gè)二進(jìn)制數(shù)字,你可以表示2^64個(gè)不同的數(shù)字,大約 18 億億(18 后面有 18 個(gè)零)。太多了。

過去計(jì)算機(jī)內(nèi)存很小,人們傾向于使用一組 8 位或 16 位來表示他們的數(shù)字。 這么小的數(shù)字很容易意外地溢出,最終得到的數(shù)字不能放在給定的位數(shù)中。 今天,即使是裝在口袋里的電腦也有足夠的內(nèi)存,所以你可以自由使用 64 位的塊,只有在處理真正的天文數(shù)字時(shí)才需要擔(dān)心溢出。

不過,并非所有 18 億億以下的整數(shù)都能放在 JavaScript 數(shù)值中。 這些位也存儲(chǔ)負(fù)數(shù),所以一位用于表示數(shù)字的符號。 一個(gè)更大的問題是,也必須表示非整數(shù)。 為此,一些位用于存儲(chǔ)小數(shù)點(diǎn)的位置。 可以存儲(chǔ)的實(shí)際最大整數(shù)更多地在 9 億億(15 個(gè)零)的范圍內(nèi) - 這仍然相當(dāng)多。

使用小數(shù)點(diǎn)來表示分?jǐn)?shù)。

9.81

對于非常大或非常小的數(shù)字,你也可以通過輸入e(表示指數(shù)),后面跟著指數(shù)來使用科學(xué)記數(shù)法:

2.998e8

2.998 * 10^8 = 299,800,000。

當(dāng)計(jì)算小于前文當(dāng)中提到的 9000 萬億的整數(shù)時(shí),其計(jì)算結(jié)果會(huì)十分精確,不過在計(jì)算小數(shù)的時(shí)候精度卻不高。正如(pi)無法使用有限個(gè)數(shù)的十進(jìn)制數(shù)字表示一樣,在使用 64 位來存儲(chǔ)分?jǐn)?shù)時(shí)也同樣會(huì)丟失一些精度。雖說如此,但這類丟失精度只會(huì)在一些特殊情況下才會(huì)出現(xiàn)問題。因此我們需要注意在處理分?jǐn)?shù)時(shí),將其視為近似值,而非精確值。

算術(shù)

與數(shù)字密切相關(guān)的就是算術(shù)。比如,加法或者乘法之類的算術(shù)運(yùn)算會(huì)使用兩個(gè)數(shù)值,并產(chǎn)生一個(gè)新的數(shù)字。JavaScript 中的算術(shù)運(yùn)算如下所示:

100 + 4 * 11

我們把+*符號稱為運(yùn)算符。第一個(gè)符號表示加法,第二個(gè)符號表示乘法。將一個(gè)運(yùn)算符放在兩個(gè)值之間,該運(yùn)算符將會(huì)使用其旁邊的兩個(gè)值產(chǎn)生一個(gè)新值。

但是這個(gè)例子的意思是“將 4 和 100 相加,并將結(jié)果乘 11”,還是是在加法之前計(jì)算乘法? 正如你可能猜到的那樣,乘法首先計(jì)算。 但是和數(shù)學(xué)一樣,你可以通過將加法包在圓括號中來改變它:

(100 + 4) * 11

運(yùn)算符表示減法,/運(yùn)算符則表示除法。

在運(yùn)算符同時(shí)出現(xiàn),并且沒有括號的情況下,其運(yùn)算順序根據(jù)運(yùn)算符優(yōu)先級確定。示例中的乘法運(yùn)算符優(yōu)先級高于加法。而/運(yùn)算符和*運(yùn)算符優(yōu)先級相同,+運(yùn)算符和運(yùn)算符優(yōu)先級也相同。當(dāng)多個(gè)具有相同優(yōu)先級的運(yùn)算符相鄰出現(xiàn)時(shí),運(yùn)算從左向右執(zhí)行,比如1–2+1的運(yùn)算順序是(1–2)+1。

你無需擔(dān)心這些運(yùn)算符的優(yōu)先級規(guī)則,不確定的時(shí)候只需要添加括號即可。

還有一個(gè)算術(shù)運(yùn)算符,你可能無法立即認(rèn)出。 %符號用于表示取余操作。 X % YYX的余數(shù)。 例如,314 % 100產(chǎn)生14144 % 12產(chǎn)生0。 余數(shù)的優(yōu)先級與乘法和除法的優(yōu)先級相同。 你還經(jīng)常會(huì)看到這個(gè)運(yùn)算符被稱為模運(yùn)算符。

特殊數(shù)字

在 JavaScript 中有三個(gè)特殊的值,它們雖然是數(shù)字,但看起來卻跟一般的數(shù)字不太一樣。

前兩個(gè)是Infinity-Infinity,它們代表正無窮和負(fù)無窮。 “無窮減一”仍然是“無窮”,依此類推。 盡管如此,不要過分信任基于無窮大的計(jì)算。 它在數(shù)學(xué)上不合理,并且很快導(dǎo)致我們的下一個(gè)特殊數(shù)字:NaN

NaN代表“不是數(shù)字”,即使它是數(shù)字類型的值。 例如,當(dāng)你嘗試計(jì)算0/0(零除零),Infinity - Infinity或任何其他數(shù)字操作,它不會(huì)產(chǎn)生有意義的結(jié)果時(shí),你將得到此結(jié)果。

字符串

下一個(gè)基本數(shù)據(jù)類型是字符串(String)。 字符串用于表示文本。 它們是用引號括起來的:

`Down on the sea`
"Lie on the ocean"
"Float on the ocean"

只要字符串開頭和結(jié)尾的引號匹配,就可以使用單引號,雙引號或反引號來標(biāo)記字符串。

幾乎所有的東西都可以放在引號之間,并且 JavaScript 會(huì)從中提取字符串值。 但少數(shù)字符更難。 你可能難以想象,如何在引號之間加引號。 當(dāng)使用反引號( ` )引用字符串時(shí),換行符(當(dāng)你按回車鍵時(shí)獲得的字符)可能會(huì)被包含,而無需轉(zhuǎn)義。

若要將這些字符存入字符串,需要使用下列規(guī)則:當(dāng)反斜杠()出現(xiàn)在引號之間的文本中時(shí),表示緊跟在其后的字符具有特殊含義,我們將其稱之為轉(zhuǎn)義符。當(dāng)引號緊跟在反斜杠后時(shí),并不意味著字符串結(jié)束,而表示這個(gè)引號是字符串的一部分。當(dāng)字符n出現(xiàn)在反斜杠后時(shí),JavaScript 將其解釋成換行符。以此類推, 表示制表符,我們來看看下面這個(gè)字符串:

"This is the first line
And this is the second"

該字符串實(shí)際表示的文本是:

This is the first line
And this is the second

當(dāng)然,在某些情況下,你希望字符串中的反斜杠只是反斜杠,而不是特殊代碼。 如果兩個(gè)反斜杠寫在一起,它們將合并,并且只有一個(gè)將留在結(jié)果字符串值中。 這就是字符串“A newline character is written like " ".”的表示方式:

"A newline character is written like "
"."

字符串也必須建模為一系列位,以便能夠存在于計(jì)算機(jī)內(nèi)部。 JavaScript 執(zhí)行此操作的方式基于 Unicode 標(biāo)準(zhǔn)。 該標(biāo)準(zhǔn)為你幾乎需要的每個(gè)字符分配一個(gè)數(shù)字,包括來自希臘語,阿拉伯語,日語,亞美尼亞語,以及其他的字符。 如果我們?yōu)槊總€(gè)字符分配一個(gè)數(shù)字,則可以用一系列數(shù)字來描述一個(gè)字符串。

這就是 JavaScript 所做的。 但是有一個(gè)復(fù)雜的問題:JavaScript 的表示為每個(gè)字符串元素使用 16 位,它可以描述多達(dá) 2 的 16 次方個(gè)不同的字符。 但是,Unicode 定義的字符多于此 - 大約是此處的兩倍。 所以有些字符,比如許多 emoji,在 JavaScript 字符串中占據(jù)了兩個(gè)“字符位置”。 我們將在第 5 章中回來討論。

我們不能將除法,乘法或減法運(yùn)算符用于字符串,但是+運(yùn)算符卻可以。這種情況下,運(yùn)算符并不表示加法,而是連接操作:將兩個(gè)字符串連接到一起。以下語句可以產(chǎn)生字符串"concatenate"

"con" + "cat" + "e" + "nate"

字符串值有許多相關(guān)的函數(shù)(方法),可用于對它們執(zhí)行其他操作。 我們將在第 4 章中回來討論。

用單引號或雙引號編寫的字符串的行為非常相似 - 唯一的區(qū)別是需要在其中轉(zhuǎn)義哪種類型的引號。 反引號字符串,通常稱為模板字面值,可以實(shí)現(xiàn)更多的技巧。 除了能夠跨越行之外,它們還可以嵌入其他值。

`half of 100 is ${100 / 2}`

當(dāng)你在模板字面值中的$ {}中寫入內(nèi)容時(shí),將計(jì)算其結(jié)果,轉(zhuǎn)換為字符串并包含在該位置。 這個(gè)例子產(chǎn)生"half of 100 is 50"

一元運(yùn)算符

并非所有的運(yùn)算符都是用符號來表示,還有一些運(yùn)算符是用單詞表示的。比如typeof運(yùn)算符,會(huì)產(chǎn)生一個(gè)字符串的值,內(nèi)容是給定值的具體類型。

console.log(typeof 4.5)
// → number
console.log(typeof "x")
// → string

我們將在示例代碼中使用console.log,來表示我們希望看到求值結(jié)果。更多內(nèi)容請見下一章。

我們所見過的絕大多數(shù)運(yùn)算符都使用兩個(gè)值進(jìn)行操作,而typeof僅接受一個(gè)值進(jìn)行操作。使用兩個(gè)值的運(yùn)算符稱為二元運(yùn)算符,而使用一個(gè)值的則稱為一元運(yùn)算符。減號運(yùn)算符既可用作一元運(yùn)算符,也可用作二元運(yùn)算符。

console.log(- (10 - 2))
// → -8
布爾值

擁有一個(gè)值,它能區(qū)分兩種可能性,通常是有用的,例如“是”和“否”或“開”和“關(guān)”。 為此,JavaScript 擁有布爾(Boolean)類型,它有兩個(gè)值:truefalse,它們就寫成這些單詞。

比較

一種產(chǎn)生布爾值的方法如下所示:

console.log(3 > 2)
// → true
console.log(3 < 2)
// → false

><符號分別表示“大于”和“小于”。這兩個(gè)符號是二元運(yùn)算符,通過該運(yùn)算符返回的結(jié)果是一個(gè)布爾值,表示其運(yùn)算是否為真。

我們可以使用相同的方法比較字符串。

console.log("Aardvark" < "Zoroaster")
// → true

字符串排序的方式大致是字典序,但不真正是你期望從字典中看到的那樣:大寫字母總是比小寫字母“小”,所以"Z"<"A",非字母字符(!,-等)也包含在排序中。 比較字符串時(shí),JavaScript 從左向右遍歷字符,逐個(gè)比較 Unicode 代碼。

其他類似的運(yùn)算符則包括>=(大于等于),<=(小于等于),==(等于)和!=(不等于)。

console.log("Apple" == "Orange")
// → false

在 JavaScript 中,只有一個(gè)值不等于其自身,那就是NaN(Not a Number,非數(shù)值)。

console.log(NaN == NaN)
// → false

NaN用于表示非法運(yùn)算的結(jié)果,正因如此,不同的非法運(yùn)算結(jié)果也不會(huì)相等。

邏輯運(yùn)算符

還有一些運(yùn)算符可以應(yīng)用于布爾值上。JavaScript 支持三種邏輯運(yùn)算符:與(and),或(or)和非(not)。這些運(yùn)算符可以用于推理布爾值。

&&運(yùn)算符表示邏輯與,該運(yùn)算符是二元運(yùn)算符,只有當(dāng)賦給它的兩個(gè)值均為true時(shí)其結(jié)果才是真。

console.log(true && false)
// → false
console.log(true && true)
// → true

||運(yùn)算符表示邏輯或。當(dāng)兩個(gè)值中任意一個(gè)為true時(shí),結(jié)果就為真。

console.log(false || true)
// → true
console.log(false || false)
// → false

感嘆號(!)表示邏輯非,該運(yùn)算符是一元運(yùn)算符,用于反轉(zhuǎn)給定的值,比如!true的結(jié)果是false,而!false結(jié)果是true。

在混合使用布爾運(yùn)算符和其他運(yùn)算符的情況下,總是很難確定什么時(shí)候需要使用括號。實(shí)際上,只要熟悉了目前為止我們介紹的運(yùn)算符,這個(gè)問題就不難解決了。||優(yōu)先級最低,其次是&&,接著是比較運(yùn)算符(>,==等),最后是其他運(yùn)算符?;谶@些優(yōu)先級順序,我們在一般情況下最好還是盡量少用括號,比如說:

1 + 1 == 2 && 10 * 10 > 50

現(xiàn)在我們來討論最后一個(gè)邏輯運(yùn)算符,它既不屬于一元運(yùn)算符,也不屬于二元運(yùn)算符,而是三元運(yùn)算符(同時(shí)操作三個(gè)值)。該運(yùn)算符由一個(gè)問號和冒號組成,如下所示。

console.log(true ? 1 : 2);
// → 1
console.log(false ? 1 : 2);
// → 2

這個(gè)被稱為條件運(yùn)算符(或者有時(shí)候只是三元運(yùn)算符,因?yàn)樗窃撜Z言中唯一的這樣的運(yùn)算符)。 問號左側(cè)的值“挑選”另外兩個(gè)值中的一個(gè)。 當(dāng)它為真,它選擇中間的值,當(dāng)它為假,則是右邊的值。

空值

有兩個(gè)特殊值,寫成nullundefined,用于表示不存在有意義的值。 它們本身就是值,但它們沒有任何信息。

在 JavaScript 語言中,有許多操作都會(huì)產(chǎn)生無意義的值(我們會(huì)在后面的內(nèi)容中看到實(shí)例),這些操作會(huì)得到undefined的結(jié)果僅僅只是因?yàn)槊總€(gè)操作都必須產(chǎn)生一個(gè)值。

undefinednull之間的意義差異是 JavaScript 設(shè)計(jì)的一個(gè)意外,大多數(shù)時(shí)候它并不重要。 在你實(shí)際上不得不關(guān)注這些值的情況下,我建議將它們視為幾乎可互換的。

自動(dòng)類型轉(zhuǎn)換

在引言中,我提到 JavaScript 會(huì)盡可能接受幾乎所有你給他的程序,甚至是那些做些奇怪事情的程序。 以下表達(dá)式很好地證明了這一點(diǎn):

console.log(8 * null)
// → 0
console.log("5" - 1)
// → 4
console.log("5" + 1)
// → 51
console.log("five" * 2)
// → NaN
console.log(false == 0)
// → true

當(dāng)運(yùn)算符應(yīng)用于類型“錯(cuò)誤”的值時(shí),JavaScript 會(huì)悄悄地將該值轉(zhuǎn)換為所需的類型,并使用一組通常不是你想要或期望的規(guī)則。 這稱為類型轉(zhuǎn)換。 第一個(gè)表達(dá)式中的null變?yōu)?b>0,第二個(gè)表達(dá)式中的"5"變?yōu)?b>5(從字符串到數(shù)字)。 然而在第三個(gè)表達(dá)式中,+在數(shù)字加法之前嘗試字符串連接,所以1被轉(zhuǎn)換為"1"(從數(shù)字到字符串)。

當(dāng)某些不能明顯映射為數(shù)字的東西(如"five"undefined)轉(zhuǎn)換為數(shù)字時(shí),你會(huì)得到值NaN。 NaN進(jìn)一步的算術(shù)運(yùn)算會(huì)產(chǎn)生NaN,所以如果你發(fā)現(xiàn)自己在一個(gè)意想不到的地方得到了它,需要尋找意外的類型轉(zhuǎn)換。

當(dāng)相同類型的值之間使用==符號進(jìn)行比較時(shí),其運(yùn)算結(jié)果很好預(yù)測:除了NaN這種情況,只要兩個(gè)值相同,則返回true。但如果類型不同,JavaScript 則會(huì)使用一套復(fù)雜難懂的規(guī)則來確定輸出結(jié)果。在絕大多數(shù)情況下,JavaScript 只是將其中一個(gè)值轉(zhuǎn)換成另一個(gè)值的類型。但如果運(yùn)算符兩側(cè)存在nullundefined,那么只有兩側(cè)均為nullundefined時(shí)結(jié)果才為true

console.log(null == undefined);
// → true
console.log(null == 0);
// → false

這種行為通常很有用。 當(dāng)你想測試一個(gè)值是否具有真值而不是nullundefined時(shí),你可以用==(或!=)運(yùn)算符將它與null進(jìn)行比較。

但是如果你想測試某些東西是否嚴(yán)格為“false”呢? 字符串和數(shù)字轉(zhuǎn)換為布爾值的規(guī)則表明,0NaN和空字符串("")計(jì)為false,而其他所有值都計(jì)為true。 因此,像"0 == false""" == false這樣的表達(dá)式也是真的。 當(dāng)你不希望發(fā)生自動(dòng)類型轉(zhuǎn)換時(shí),還有兩個(gè)額外的運(yùn)算符:===!==。 第一個(gè)測試是否嚴(yán)格等于另一個(gè)值,第二個(gè)測試它是否不嚴(yán)格相等。 所以"" === false如預(yù)期那樣是錯(cuò)誤的。

我建議使用三字符比較運(yùn)算符來防止意外類型轉(zhuǎn)換的發(fā)生,避免作繭自縛。但如果比較運(yùn)算符兩側(cè)的值類型是相同的,那么使用較短的運(yùn)算符也沒有問題。

邏輯運(yùn)算符的短路特性

邏輯運(yùn)算符&&||以一種特殊的方式處理不同類型的值。 他們會(huì)將其左側(cè)的值轉(zhuǎn)換為布爾型,來決定要做什么,但根據(jù)運(yùn)算符和轉(zhuǎn)換結(jié)果,它們將返回原始的左側(cè)值或右側(cè)值。

例如,當(dāng)左側(cè)值可以轉(zhuǎn)換為true時(shí),||運(yùn)算符會(huì)返回它,否則返回右側(cè)值。 當(dāng)值為布爾值時(shí),這具有預(yù)期的效果,并且對其他類型的值做類似的操作。

console.log(null || "user")
// → user
console.log("Agnes" || "user")
// → Agnes

我們可以此功能用作回落到默認(rèn)值的方式。 如果你的一個(gè)值可能是空的,你可以把||和備選值放在它之后。 如果初始值可以轉(zhuǎn)換為false,那么你將得到備選值。

&&運(yùn)算符工作方式與其相似但不相同。當(dāng)左側(cè)的值可以被轉(zhuǎn)換成false時(shí),&&運(yùn)算符會(huì)返回左側(cè)值,否則返回右側(cè)值。

這兩個(gè)運(yùn)算符的另一個(gè)重要特性是,只在必要時(shí)求解其右側(cè)的部分。 在true || X的情況下,不管X是什么 - 即使它是一個(gè)執(zhí)行某些惡意操作的程序片段,結(jié)果都是true,并且X永遠(yuǎn)不會(huì)求值。 false && X也是一樣,它是false的,并且忽略X。 這稱為短路求值。

條件運(yùn)算符以類似的方式工作。 在第二個(gè)和第三個(gè)值中,只有被選中的值才會(huì)求值。

本章小結(jié)

在本章中,我們介紹了 JavaScript 的四種類型的值:數(shù)字,字符串,布爾值和未定義值。

通過輸入值的名稱(true,null)或值(13"abc")就可以創(chuàng)建它們。你還可以通過運(yùn)算符來對值進(jìn)行合并和轉(zhuǎn)換操作。本章已經(jīng)介紹了算術(shù)二元運(yùn)算符(+,,*/%),字符串連接符(+),比較運(yùn)算符(==,!=,===!==,<,>,<=>=),邏輯運(yùn)算符(&&||)和一些一元運(yùn)算符(表示負(fù)數(shù),!表示邏輯非,typeof用于查詢值的類型)。

這為你提供了足夠的信息,將 JavaScript 用作便攜式計(jì)算器,但并不多。 下一章將開始將這些表達(dá)式綁定到基本程序中。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/105028.html

相關(guān)文章

  • JavaScript 編程精解 中文三版 二、程序結(jié)構(gòu)

    摘要:為了運(yùn)行包裹的程序,可以將這些值應(yīng)用于它們。在瀏覽器中,輸出出現(xiàn)在控制臺中。在英文版頁面上運(yùn)行示例或自己的代碼時(shí),會(huì)在示例之后顯示輸出,而不是在瀏覽器的控制臺中顯示。這被稱為條件執(zhí)行。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Program Structure 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 自豪地采用谷歌翻譯 部分參考了《J...

    ThinkSNS 評論0 收藏0
  • JavaScript 編程精解 中文三版 十二、項(xiàng)目:編程語言

    摘要:來源編程精解中文第三版翻譯項(xiàng)目原文譯者飛龍協(xié)議自豪地采用谷歌翻譯部分參考了編程精解第版確定編程語言中的表達(dá)式含義的求值器只是另一個(gè)程序。若文本不是一個(gè)合法程序,解析器應(yīng)該指出錯(cuò)誤。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Project: A Programming Language 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 自豪地采用...

    Near_Li 評論0 收藏0
  • JavaScript 編程精解 中文三版 零、前言

    摘要:來源編程精解中文第三版翻譯項(xiàng)目原文譯者飛龍協(xié)議自豪地采用谷歌翻譯部分參考了編程精解第版,這是一本關(guān)于指導(dǎo)電腦的書。在可控的范圍內(nèi)編寫程序是編程過程中首要解決的問題。我們可以用中文來描述這些指令將數(shù)字存儲(chǔ)在內(nèi)存地址中的位置。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Introduction 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 自豪地...

    sanyang 評論0 收藏0
  • JavaScript 編程精解 中文三版 十九、項(xiàng)目:像素藝術(shù)編輯器

    摘要:相反,當(dāng)響應(yīng)指針事件時(shí),它會(huì)調(diào)用創(chuàng)建它的代碼提供的回調(diào)函數(shù),該函數(shù)將處理應(yīng)用的特定部分?;卣{(diào)函數(shù)可能會(huì)返回另一個(gè)回調(diào)函數(shù),以便在按下按鈕并且將指針移動(dòng)到另一個(gè)像素時(shí)得到通知。它們?yōu)榻M件構(gòu)造器的數(shù)組而提供。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Project: A Pixel Art Editor 譯者:飛龍 協(xié)議:CC BY-NC-SA 4...

    Meils 評論0 收藏0
  • JavaScript 編程精解 中文三版 五、高階函數(shù)

    摘要:高階函數(shù)如果一個(gè)函數(shù)操作其他函數(shù),即將其他函數(shù)作為參數(shù)或?qū)⒑瘮?shù)作為返回值,那么我們可以將其稱為高階函數(shù)。我們可以使用高階函數(shù)對一系列操作和值進(jìn)行抽象。高階函數(shù)有多種表現(xiàn)形式。腳本數(shù)據(jù)集數(shù)據(jù)處理是高階函數(shù)表現(xiàn)突出的一個(gè)領(lǐng)域。 來源:ApacheCN『JavaScript 編程精解 中文第三版』翻譯項(xiàng)目原文:Higher-Order Functions 譯者:飛龍 協(xié)議:CC BY-NC-...

    blastz 評論0 收藏0

發(fā)表評論

0條評論

wh469012917

|高級講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<