這是一本講解JavaScript編程語言的技術書籍,只不過尿褪,本書采用了一種全新的寫作手法睦擂。
如果你厭倦了厚厚的、如同字典般的編程書籍杖玲,不妨嘗試一下新的口味顿仇!
通過本書,你可以領悟到JavaScript的函數(shù)七重關秘籍;通過本書摆马,你可以輕松學會使用jQuery作DOM對象;通過本書臼闻,你可以學會目前流行的Vue基礎語法;通過本書,你還可以學會新的ES6常用語法囤采。
本書可作為JavaScript初學者入門的趣味讀物述呐。
目錄
第1章 . 掌握JavaScript基礎1
1.1初入宗門1
1.2直接量2
1.3變量的聲明3
1.4數(shù)據(jù)類型4
1.5基礎考核5
1.6葉老6
1.7對象數(shù)據(jù)類型8
1.8對象的取值11
1.9循環(huán)遍歷的奧妙13
1.10對象內容的遍歷17
1.11外門小比20
1.12JavaScript運算符21
1.13語驚座26
1.14秀27
1.15天秀29
1.16數(shù)組方法32
1.17蒂花之秀37
1.18函數(shù)七重關之一(函數(shù)定義)38
1.19JavaScript編譯原理42
1.20函數(shù)七重關之二(作用域)46
1.21函數(shù)七重關之三(參數(shù)傳遞)51
1.22函數(shù)七重關之(閉包)58
1.23函數(shù)七重關之五(自執(zhí)行函數(shù))62
1.24函數(shù)七重關之六(“new”一個函數(shù))64
1.25函數(shù)七重關之七(回調函數(shù))70
第2章 . 基礎考核73
2.1趙牛73
2.2林濤74
2.3變量和簡單數(shù)據(jù)類型76
2.4精度問題80
2.5化浮為整83
2.6函數(shù)的三大要義85
2.7add函數(shù)完成87
2.8函數(shù)調試90
2.9indeOf方法93
2.10replace方法97
2.11重新開始99
第3章 . jQuery和DOM105
3.1預備知識105
3.1.1HTML基本結構105
3.1.2創(chuàng)建一個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創(chuàng)造新的元素153
3.4.5刪除和隱藏節(jié)點159
3.4.6jQuery作屬性161
3.4.7內容作163
3.4.8遍歷和尋找節(jié)點170
第4章 . Vue的妙處173
4.1我要去做任務173
4.2壯士出征175
4.3Vue數(shù)據(jù)綁定175
4.4Vue第一式——簡單數(shù)據(jù)綁定179
4.5Vue第二式——靈活有趣的事件綁定186
4.5.1v-on監(jiān)聽事件186
4.5.2處理事件冒泡189
4.6Vue第三式——條件語句192
4.7Vue第四式——循環(huán)語句197
4.8Vue第五式——屬性綁定200
4.9Vue第六式——Vue組件開發(fā)201
4.10Vue第七式——計算屬性211
4.11Vue第八式——監(jiān)聽屬性213
4.12Vue第九式——過濾器217
4.13葉小凡的戰(zhàn)果220
第5章 . Vue cli項目223
5.1Nodejs安裝223
5.2使用npm發(fā)布模塊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強化后的數(shù)組245
6.5.1快速構建新數(shù)組245
6.5.2新的數(shù)組方法246
6.5.3數(shù)組復制246
6.6強化后的函數(shù)247
6.7更加靈活多變的對象251
6.8promise對象和async函數(shù)252
后記256
試讀:
1 初入宗門
樂陽村,處于腳本大陸東部的邊緣地帶,民風淳樸添忘,村名日出而作,日落而息。這一日清晨撬碟,所有村民來到村莊的門口,正在為一個十五六歲的少年送別躬充。只見那少年雖然身體瘦弱判莉,可是目中綻放出異彩,身軀雖不壯實托呕,倒也挺拔含蓉。
“葉小凡,你是我們全村人的驕傲项郊,百年來唯一一個具備修行JavaScript甲等資質的孩子馅扣!馬上會有千鶴派的大人來接你,今后你一定要認真修行着降,給我們全村的人爭光差油!”
他叫葉小凡,幾天前通過了修行資質的檢驗任洞,符合修行JavaScript的資質蓄喇。
“千鶴派!”葉小凡眼前一亮交掏,語氣中伴隨著激動妆偏,兩眼放光。千鶴派盅弛,在腳本大陸钱骂,已是數(shù)一數(shù)二的大門派叔锐,每一個宗門弟子都能夠修煉一種神奇的功法——JavaScript,修成之后见秽,威力之大掌腰,足以翻山倒海,稱霸一方天地张吉!
不多時齿梁,天氣風云變化,一道長虹降下肮蛹,瞬間變?yōu)橐蝗松自瘛K泶┮患嗌皴\衣服,腰間綁著一根白色蟠離紋革帶伦忠,一頭黑發(fā)如云發(fā)絲省核,有著一雙清澈明亮的眼眸,身形頎長昆码,當真是氣宇軒昂溫文爾雅气忠。
“你就是葉小凡?”男子淡淡開口赋咽,神識一掃旧噪,驚訝地發(fā)現(xiàn),此子的修行資質竟為甲等脓匿,眼中閃過一絲驚訝淘钟。
“在下林元青,千鶴派青山院掌尊陪毡,你既然通過了考核米母,具備修煉資質,即刻你隨我上山毡琉,不得有誤铁瞒。”
葉小凡當下便告別眾人桅滋,在林元青的術法之下慧耍,隨即化為一道長虹飛天而去。留下了一臉震撼的村民虱歪。
千鶴派分為三個大院蜂绎,分別為青山院,綠水院笋鄙,以及神秘的玄冰院师枣。每個院都有一個掌尊,那林元青萧落,赫然便是青山院的掌尊践美!掌尊地位之高洗贰,僅次于大長老,大長老之上陨倡,又有太上長老敛滋。幾乎只是兩三個呼吸的時間,林元青已經(jīng)帶著葉小凡兴革,來到了千鶴派绎晃。葉小凡兩眼一花,仿佛上一刻還在村子口杂曲,下一刻就看到了千鶴派的閣樓庶艾。
“這里是?”葉小凡這一輩子都沒有見過如此宏偉的建筑擎勘,忍不住開口咱揍。一想到今后可以在這里修行,更是興奮棚饵。哈哈煤裙,我葉小凡今后一定能突破層層障礙,成就JavaScript一代大師噪漾!
“這里是千鶴派青山院硼砰。”林元青招來仆從怪与,給葉小凡隨意找了一個住處夺刑,又給了一卷功法,吩咐了幾句分别,似乎還有其他要事,就立即化為一道長虹離去了存淫。
葉小凡拿起功法一看耘斩,赫然寫著“JavaScript基礎修煉要訣”幾個銀光大字,眼中放出異彩桅咆,一想到村中父老鄉(xiāng)親那期盼的眼神括授,便下定決心,不混出個名頭岩饼,絕不回去荚虚!
2 直接量
葉小凡的住處被安排在青山院西北角的一個房間里,雖不寬敞籍茧,倒也干凈版述。葉小凡兩眼露出振奮的眼神,隨便吃了點鄉(xiāng)親們準備的干糧后寞冯,就立刻開始打坐修行渴析。編程之修晚伙,重在積累,而非資質俭茧。資質雖然一樣重要咆疗,可是后天的努力一樣不可缺少。這些道理母债,葉小凡在還未上山之前午磁,就已經(jīng)熟知!因此毡们,即便是資質平凡漓踢,只要肯下苦功,一樣可以修得正果漏隐!葉小凡雖然甲等資質喧半,可依然不驕不躁,開始從“JavaScript基礎修煉要訣”第一頁開始學起青责。
修煉要訣第一章挺据,直接量。
編程世界脖隶,所謂直接量扁耐,就是明面上可以見到的數(shù)據(jù)值。常見的直接量有數(shù)字产阱,小數(shù)婉称,字符串。修行者构蹬,利用自身體內的能量王暗,凝結出一個個簡單的直接量。葉小凡目前修為較低庄敛,就連最基本的學徒境界都沒有俗壹,體內能量薄弱,經(jīng)過多次嘗試藻烤,只能凝練出一些簡單的數(shù)字绷雏,比如10,20怖亭。忽然涎显,葉小凡目光一閃,一個字符串在體內形成兴猩!葉小凡細細感悟期吓,原來是一個“Hello World” 字符串,葉小凡喜歡觀察峭跳,立馬發(fā)現(xiàn)了字符串和數(shù)字的不同膘婶。字符串的出現(xiàn)缺前,必然帶著雙引號,被很好的包裹住悬襟,而數(shù)字則不同衅码,就是光禿禿的一個10或者20,沒有雙引號脊岳。
“原來逝段,字符串一定需要用雙引號包裹,那么單引號是否可行呢割捅?”葉小凡重新運氣奶躯,轉眼間,一個用單引號包裹的‘Hello World’就出現(xiàn)了亿驾。見此嘹黔,葉小凡大喜,哈哈莫瞬,原來單引號也可以儡蔓。
"Hello World"
'Hello World'
突然,這兩個字符串和數(shù)字像是失去了依托疼邀,瞬間化為虛無喂江。葉小凡一驚,心道旁振,看來直接創(chuàng)造出來的字面量只是曇花一現(xiàn)获询,無法持久,要是有一個什么東西把直接量裝起來就好了拐袜。
葉小凡收起心神吉嚣,繼續(xù)閱讀“JavaScript基礎修煉要訣”,忽然阻肿,他眼前一亮瓦戚。
“原來如此,直接量雖然只是曇花一現(xiàn)丛塌,但是如果我能用var定義一個變量,再指向那個直接量畜疾,就能有保存數(shù)據(jù)的妙用赴邻!”
想到這里,葉小凡當即催動功法啡捶,定義了一個變量姥敛。
var a;
“成了!”瞎暑,葉小凡開心的一拍手彤敛,心念一動与帆,一個用雙引號包裹的“Hello World”字符串憑空出現(xiàn)。這一次墨榄,沒等字符串遁入虛無玄糟,葉小凡就立刻讓變量a指向了這個字符串。
var a;
a = "Hello World";
“嗯袄秩,有點麻煩,還不如直接并為一句贰军。”先定義變量,然后指向一個字符串,這種操作分成了兩步锨能,還是一步到位的好秃殉。就在葉小凡這么想的時候,代碼立刻發(fā)生了變化。
var a = "Hello World";
原來這也可以盏筐!
前言
JavaScript是一種輕量級的動態(tài)編程語言宿亡,在誕生之時跃赚,JavaScript并沒有受到人們的過多關注,但是誰也想不到肤频,在大前端快速風靡的今天嘹锁,JavaScript已經(jīng)成為當今編程世界中優(yōu)雅而不可或缺的一員。如果你是一名編程初學者着裹,剛剛學習完HTML和CSS,那你就不得不接觸JavaScript了。剛開始骇扇,你會用jQuery操作DOM摔竿,切換頁面并寫一寫單擊事件,似乎覺得JavaScript也不過如此少孝。然而继低,當你在for循環(huán)里面寫了一個setTimeout函數(shù)后,意想不到的結果發(fā)生了稍走,這時你才明白前端這“坑”袁翁,竟如此之深!
JavaScript就是這樣一種看起來簡單婿脸,卻又很難精通的編程語言粱胜。
也許你是一名想要學習JavaScript的“小白”,或者是工作多年的“程序猿”狐树,甚至是已經(jīng)用Vue前端框架做過很多項目的“大疟貉梗”,但是不管怎樣抑钟,相信你在閱讀本書后涯曲,一定會有意外的收獲。你平時可能只知道該這樣寫業(yè)務邏輯在塔,該那樣定義變量幻件,否則就會報錯,這是多年的工作經(jīng)驗給你帶來的寶貴財富蛔溃。但在閱讀本書后绰沥,你可能就會在某些地方豁然開朗,哦城榛,原來它的內部是這樣運作的揪利!
本書的第1~3章講解JavaScript的基礎知識,對于一些重要的知識點狠持,如json對象疟位、函數(shù)、閉包等喘垂,更是用了近乎“變態(tài)”的篇幅進行詳細闡述甜刻。再加上本書多數(shù)章節(jié)采用小說體講述知識,可以使讀者學習起來不會覺得過于無聊正勒,反而會饒有興趣得院。JavaScript的基礎知識尤為重要,可以說章贞,學好了JavaScript的基礎知識祥绞,后期再學習各種框架,就會變得游刃有余。
本書的第4章和第5章將介紹當今的主流前端框架之一——Vue蜕径。只要讀者具備一定的JavaScript編程基礎两踏,學習Vue也會是比較輕松的。
一旦進入前端行業(yè)兜喻,你就會發(fā)現(xiàn)梦染,前端不僅是一堆事件的堆砌和數(shù)據(jù)的渲染。隨著B/S架構的流行朴皆,網(wǎng)頁變得越來越復雜帕识,這就導致JavaScript的代碼量越來越大。尤其是在編寫復雜的業(yè)務邏輯時遂铡,由于需要頻繁調取后端接口肮疗,并在得到接口的返回值后才能進行其他操作,因此如果接口與接口之間有連帶關系忧便,大量的回調函數(shù)就會嵌套族吻,從而使得代碼很容易產(chǎn)生意想不到的錯誤。更可怕的是珠增,這樣的代碼超歌,在檢查時卻完全看不懂。這個時候蒂教,就可以使用promise對象和async函數(shù)了巍举,這是ES6語法的知識點,本書的第6章將會簡單介紹這些知識凝垛。
為了使讀者能夠開心愉悅地閱讀本書懊悯,本書多數(shù)章節(jié)采用玄幻小說的寫作風格,書中的小故事可以讓讀者以全新的角度看待JavaScript梦皮√糠郑或許你可以在葉小凡的修仙旅途中感悟到JavaScript的美感,從此在面對工作和學習中的JavaScript代碼時剑肯,不再覺得這是一種負擔捧毛,而是一種喜悅。
本書的編寫靈感來自于筆者的一次奇思妙想让网,因為在市面上不容易找不到一本類似小說的編程技術書籍呀忧,于是,本書就誕生了溃睹。本書不像傳統(tǒng)的技術書籍那般沉悶而账,而是像玄幻小說一樣,閱讀起來很有趣味性因篇。讀者會發(fā)現(xiàn)泞辐,原來JavaScript還可以這樣學笔横。
如果你已經(jīng)準備好了,那么請跟著葉小凡铛碑,開始享受這段開心愉悅的修煉旅途吧狠裹!
編者2020年8月
PS: 下面這個人不是我,冒充我汽烦,天天在我的文章下面評論,然后引流到他自己的公眾號莉御。大家不要上當撇吞,他用了跟我一樣的名字和頭像!
他的簡書地址:http://www.reibang.com/u/f7046342b176 <== 假的