這是一本講解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月
PS: 下面這個人不是我,冒充我,天天在我的文章下面評論,然後引流到他自己的公衆號。大家不要上當,他用了跟我一樣的名字和頭像!
他的簡書地址:https://www.jianshu.com/u/f7046342b176 <== 假的