奧推網

選單
文化

碼字三年,我寫的《JavaScript百鍊成仙》終於出版啦!

這是一本講解JavaScript程式語言的技術書籍,只不過,本書採用了一種全新的寫作手法。

如果你厭倦了厚厚的、如同字典般的程式設計書籍,不妨嘗試一下新的口味!

透過本書,你可以領悟到JavaScript的函式七重關秘籍;透過本書,你可以輕鬆學會使用jQuery作DOM物件;透過本書,你可以學會目前流行的Vue基礎語法;透過本書,你還可以學會新的ES6常用語法。

本書可作為JavaScript初學者入門的趣味讀物。

目錄

第1章 。 掌握JavaScript基礎1

1。1初入宗門1

1。2直接量2

1。3變數的宣告3

1。4資料型別4

1。5基礎考核5

1。6葉老6

1。7物件資料型別8

1。8物件的取值11

1。9迴圈遍歷的奧妙13

1。10物件內容的遍歷17

1。11外門小比20

1。12JavaScript運算子21

1。13語驚座26

1。14秀27

1。15天秀29

1。16陣列方法32

1。17蒂花之秀37

1。18函式七重關之一(函式定義)38

1。19JavaScript編譯原理42

1。20函式七重關之二(作用域)46

1。21函式七重關之三(引數傳遞)51

1。22函式七重關之(閉包)58

1。23函式七重關之五(自執行函式)62

1。24函式七重關之六(“new”一個函式)64

1。25函式七重關之七(回撥函式)70

第2章 。 基礎考核73

2。1趙牛73

2。2林濤74

2。3變數和簡單資料型別76

2。4精度問題80

2。5化浮為整83

2。6函式的三大要義85

2。7add函式完成87

2。8函式除錯90

2。9indeOf方法93

2。10replace方法97

2。11重新開始99

第3章 。 jQuery和DOM105

3。1預備知識105

3。1。1HTML基本結構105

3。1。2建立一個HTML檔案108

3。1。3HTML排版標籤109

3。1。4圖片標籤113

3。1。5連結標籤114

3。1。6table標籤115

3。1。7表單元素121

3。1。8CSS基礎127

3。1。9jQuery簡介133

3。2簡南136

3。3jQuery選擇器137

3。4使用jQuery作DOM146

3。4。1查詢元素146

3。4。2查詢屬性148

3。4。3鏈式呼叫150

3。4。4創造新的元素153

3。4。5刪除和隱藏節點159

3。4。6jQuery作屬性161

3。4。7內容作163

3。4。8遍歷和尋找節點170

第4章 。 Vue的妙處173

4。1我要去做任務173

4。2壯士出征175

4。3Vue資料繫結175

4。4Vue第一式——簡單資料繫結179

4。5Vue第二式——靈活有趣的事件繫結186

4。5。1v-on監聽事件186

4。5。2處理事件冒泡189

4。6Vue第三式——條件語句192

4。7Vue第四式——迴圈語句197

4。8Vue第五式——屬性繫結200

4。9Vue第六式——Vue元件開發201

4。10Vue第七式——計算屬性211

4。11Vue第八式——監聽屬性213

4。12Vue第九式——過濾器217

4。13葉小凡的戰果220

第5章 。 Vue cli專案223

5。1Nodejs安裝223

5。2使用npm釋出模組224

5。3使用npm安裝模組229

5。4使用Vue-cli搭建專案231

第6章 。 ES6語法238

6。1全新的變數定義238

6。2變數的解構賦值239

6。3字串升級242

6。4Proxy代理243

6。5強化後的陣列245

6。5。1快速構建新陣列245

6。5。2新的陣列方法246

6。5。3陣列複製246

6。6強化後的函式247

6。7更加靈活多變的物件251

6。8promise物件和async函式252

後記256

試讀:1初入宗門樂陽村,處於指令碼大陸東部的邊緣地帶,民風淳樸,村名日出而作,日落而息。這一日清晨,所有村民來到村莊的門口,正在為一個十五六歲的少年送別。只見那少年雖然身體瘦弱,可是目中綻放出異彩,身軀雖不壯實,倒也挺拔。

“葉小凡,你是我們全村人的驕傲,百年來唯一一個具備修行JavaScript甲等資質的孩子!馬上會有千鶴派的大人來接你,今後你一定要認真修行,給我們全村的人爭光!”

他叫葉小凡,幾天前通過了修行資質的檢驗,符合修行JavaScript的資質。

“千鶴派!”葉小凡眼前一亮,語氣中伴隨著激動,兩眼放光。千鶴派,在指令碼大陸,已是數一數二的大門派,每一個宗門弟子都能夠修煉一種神奇的功法——JavaScript,修成之後,威力之大,足以翻山倒海,稱霸一方天地!

不多時,天氣風雲變化,一道長虹降下,瞬間變為一人。他身穿一件玄青色玉錦衣服,腰間綁著一根白色蟠離紋革帶,一頭黑髮如雲髮絲,有著一雙清澈明亮的眼眸,身形頎長,當真是氣宇軒昂溫文爾雅。

“你就是葉小凡?”男子淡淡開口,神識一掃,驚訝地發現,此子的修行資質竟為甲等,眼中閃過一絲驚訝。

“在下林元青,千鶴派青山院掌尊,你既然通過了考核,具備修煉資質,即刻你隨我上山,不得有誤。”

葉小凡當下便告別眾人,在林元青的術法之下,隨即化為一道長虹飛天而去。留下了一臉震撼的村民。

千鶴派分為三個大院,分別為青山院,綠水院,以及神秘的玄冰院。每個院都有一個掌尊,那林元青,赫然便是青山院的掌尊!掌尊地位之高,僅次於大長老,大長老之上,又有太上長老。幾乎只是兩三個呼吸的時間,林元青已經帶著葉小凡,來到了千鶴派。葉小凡兩眼一花,彷彿上一刻還在村子口,下一刻就看到了千鶴派的閣樓。

“這裡是?”葉小凡這一輩子都沒有見過如此宏偉的建築,忍不住開口。一想到今後可以在這裡修行,更是興奮。哈哈,我葉小凡今後一定能突破層層障礙,成就JavaScript一代大師!

“這裡是千鶴派青山院。”林元青招來僕從,給葉小凡隨意找了一個住處,又給了一卷功法,吩咐了幾句,似乎還有其他要事,就立即化為一道長虹離去了。

葉小凡拿起功法一看,赫然寫著“JavaScript基礎修煉要訣”幾個銀光大字,眼中放出異彩,一想到村中父老鄉親那期盼的眼神,便下定決心,不混出個名頭,絕不回去!

2直接量葉小凡的住處被安排在青山院西北角的一個房間裡,雖不寬敞,倒也乾淨。葉小凡兩眼露出振奮的眼神,隨便吃了點鄉親們準備的乾糧後,就立刻開始打坐修行。程式設計之修,重在積累,而非資質。資質雖然一樣重要,可是後天的努力一樣不可缺少。這些道理,葉小凡在還未上山之前,就已經熟知!因此,即便是資質平凡,只要肯下苦功,一樣可以修得正果!葉小凡雖然甲等資質,可依然不驕不躁,開始從“JavaScript基礎修煉要訣”第一頁開始學起。

修煉要訣第一章,直接量。

程式設計世界,所謂直接量,就是明面上可以見到的資料值。常見的直接量有數字,小數,字串。修行者,利用自身體內的能量,凝結出一個個簡單的直接量。葉小凡目前修為較低,就連最基本的學徒境界都沒有,體內能量薄弱,經過多次嘗試,只能凝練出一些簡單的數字,比如10,20。忽然,葉小凡目光一閃,一個字串在體內形成!葉小凡細細感悟,原來是一個“Hello World” 字串,葉小凡喜歡觀察,立馬發現了字串和數字的不同。字串的出現,必然帶著雙引號,被很好的包裹住,而數字則不同,就是光禿禿的一個10或者20,沒有雙引號。

“原來,字串一定需要用雙引號包裹,那麼單引號是否可行呢?”葉小凡重新運氣,轉眼間,一個用單引號包裹的‘Hello World’就出現了。見此,葉小凡大喜,哈哈,原來單引號也可以。

“Hello World” ‘Hello World’

突然,這兩個字串和數字像是失去了依託,瞬間化為虛無。葉小凡一驚,心道,看來直接創造出來的字面量只是曇花一現,無法持久,要是有一個什麼東西把直接量裝起來就好了。

葉小凡收起心神,繼續閱讀“JavaScript基礎修煉要訣”,忽然,他眼前一亮。

“原來如此,直接量雖然只是曇花一現,但是如果我能用var定義一個變數,再指向那個直接量,就能有儲存資料的妙用!”

想到這裡,葉小凡當即催動功法,定義了一個變數。

var a;“成了!”,葉小凡開心的一拍手,心念一動,一個用雙引號包裹的“Hello World”字串憑空出現。這一次,沒等字串遁入虛無,葉小凡就立刻讓變數a指向了這個字串。

var a;

a= “Hello World”;“嗯,有點麻煩,還不如直接併為一句。”先定義變數,然後指向一個字串,這種操作分成了兩步,還是一步到位的好。就在葉小凡這麼想的時候,程式碼立刻發生了變化。

var a = “Hello World”;原來這也可以!

前言

JavaScript是一種輕量級的動態程式語言,在誕生之時,JavaScript並沒有受到人們的過多關注,但是誰也想不到,在大前端快速風靡的今天,JavaScript已經成為當今程式設計世界中優雅而不可或缺的一員。如果你是一名程式設計初學者,剛剛學習完HTML和CSS,那你就不得不接觸JavaScript了。剛開始,你會用jQuery操作DOM,切換頁面並寫一寫單擊事件,似乎覺得JavaScript也不過如此。然而,當你在for迴圈裡面寫了一個setTimeout函式後,意想不到的結果發生了,這時你才明白前端這“坑”,竟如此之深!

JavaScript就是這樣一種看起來簡單,卻又很難精通的程式語言。

也許你是一名想要學習JavaScript的“小白”,或者是工作多年的“程式猿”,甚至是已經用Vue前端框架做過很多專案的“大牛”,但是不管怎樣,相信你在閱讀本書後,一定會有意外的收穫。你平時可能只知道該這樣寫業務邏輯,該那樣定義變數,否則就會報錯,這是多年的工作經驗給你帶來的寶貴財富。但在閱讀本書後,你可能就會在某些地方豁然開朗,哦,原來它的內部是這樣運作的!

本書的第1~3章講解JavaScript的基礎知識,對於一些重要的知識點,如json物件、函式、閉包等,更是用了近乎“變態”的篇幅進行詳細闡述。再加上本書多數章節採用小說體講述知識,可以使讀者學習起來不會覺得過於無聊,反而會饒有興趣。JavaScript的基礎知識尤為重要,可以說,學好了JavaScript的基礎知識,後期再學習各種框架,就會變得遊刃有餘。

本書的第4章和第5章將介紹當今的主流前端框架之一——Vue。只要讀者具備一定的JavaScript程式設計基礎,學習Vue也會是比較輕鬆的。

一旦進入前端行業,你就會發現,前端不僅是一堆事件的堆砌和資料的渲染。隨著B/S架構的流行,網頁變得越來越複雜,這就導致JavaScript的程式碼量越來越大。尤其是在編寫複雜的業務邏輯時,由於需要頻繁調取後端介面,並在得到介面的返回值後才能進行其他操作,因此如果介面與介面之間有連帶關係,大量的回撥函式就會巢狀,從而使得程式碼很容易產生意想不到的錯誤。更可怕的是,這樣的程式碼,在檢查時卻完全看不懂。這個時候,就可以使用promise物件和async函數了,這是ES6語法的知識點,本書的第6章將會簡單介紹這些知識。

為了使讀者能夠開心愉悅地閱讀本書,本書多數章節採用玄幻小說的寫作風格,書中的小故事可以讓讀者以全新的角度看待JavaScript。或許你可以在葉小凡的修仙旅途中感悟到JavaScript的美感,從此在面對工作和學習中的JavaScript程式碼時,不再覺得這是一種負擔,而是一種喜悅。

本書的編寫靈感來自於筆者的一次奇思妙想,因為在市面上不容易找不到一本類似小說的程式設計技術書籍,於是,本書就誕生了。本書不像傳統的技術書籍那般沉悶,而是像玄幻小說一樣,閱讀起來很有趣味性。讀者會發現,原來JavaScript還可以這樣學。

如果你已經準備好了,那麼請跟著葉小凡,開始享受這段開心愉悅的修煉旅途吧!

編者2020年8月