這是一本JavaScript 入門(mén)指南。它回答了如何單獨(dú)使用JavaScript 這門(mén)編程語(yǔ)言解決Web 應(yīng)用程序前后端開(kāi)發(fā)過(guò)程中涉及的所有技術(shù)棧問(wèn)題,幫助Web 開(kāi)發(fā)者減少其需要使用的編程語(yǔ)言種類(lèi),從而降低其學(xué)習(xí)成本。
本書(shū)將從ECMAScript 標(biāo)準(zhǔn)定義的基本語(yǔ)法開(kāi)始,系統(tǒng)闡述JavaScript 在瀏覽器端、服務(wù)器端的開(kāi)發(fā)思路和設(shè)計(jì)理念。在此過(guò)程中,作者將提供大量可讀性強(qiáng)、能夠正確運(yùn)行的代碼示例,以幫助讀者理解書(shū)中介紹的技術(shù)、概念、編程思想與程序設(shè)計(jì)模式。本書(shū)主要由三部分組成:第一部分介紹JavaScript語(yǔ)言的核心知識(shí)點(diǎn);第二部分介紹JavaScript 在瀏覽器端的使用,包括BOM 和DOM 組件、AJAX 技術(shù)等;第三部分介紹JavaScript 在Node.js 平臺(tái)中的應(yīng)用。
本書(shū)內(nèi)容循序漸進(jìn),實(shí)操性強(qiáng),適合對(duì)HTML 和CSS 有所了解的JavaScript 初學(xué)者,以及對(duì)Web 全棧開(kāi)發(fā)及其背后的設(shè)計(jì)理念感興趣的讀者。
1.一本兼顧Web前后端開(kāi)發(fā)的JavaScript入門(mén)書(shū)。
2. 本書(shū)循序漸進(jìn),層層深入地介紹JavaScript在瀏覽器端、服務(wù)器端的開(kāi)發(fā)思路、設(shè)計(jì)理念以及時(shí)下流行的開(kāi)發(fā)框架及其使用。
3. 提供本書(shū)源代碼、彩圖文件下載,以幫助讀者理解書(shū)中所介紹的技術(shù)概念、編程思想與程序設(shè)計(jì)理念。
凌杰(網(wǎng)名:owlman)
浙江大學(xué)遠(yuǎn)程教育學(xué)院“榮譽(yù)學(xué)員”。自由開(kāi)發(fā)者、技術(shù)寫(xiě)作者兼譯者。精通JavaScript 、Python、C、C++等多門(mén)編程語(yǔ)言,擁有豐富的發(fā)及測(cè)試經(jīng)驗(yàn)。曾擔(dān)任上海交通大學(xué)飲水思源BBS的電腦技術(shù)區(qū)區(qū)長(zhǎng)。近年來(lái)譯有《Python算法教程》《JavaScript面向?qū)ο缶幊讨改稀贰对啬J健返茸髌贰?
第 1 章 JavaScript 簡(jiǎn)介 1
1.1 JavaScript 的前世今生 1
1.1.1 JavaScript 的起源 1
1.1.2 JavaScript 的標(biāo)準(zhǔn)化 2
1.2 JavaScript 的組成與特性 4
1.2.1 組成結(jié)構(gòu) 4
1.2.2 語(yǔ)言特性 4
1.3 JavaScript 的適用領(lǐng)域 5
1.4 運(yùn)行環(huán)境的搭建 6
1.4.1 Node.js 的安裝 7
1.4.2 瀏覽器端運(yùn)行環(huán)境 10
本章小結(jié) 11
第 一部分 JavaScript 核心
第 2 章 變量、表達(dá)式與語(yǔ)句 15
2.1 第 一個(gè)JavaScript 程序 15
2.2 為代碼編寫(xiě)注釋 17
2.3 變量與操作符 18
2.3.1 變量的定義 19
2.3.2 變量的類(lèi)型 21
2.3.3 變量的操作 23
2.4 表達(dá)式與語(yǔ)句 28
2.4.1 表達(dá)式語(yǔ)句 29
2.4.2 復(fù)合語(yǔ)句 30
2.4.3 跳轉(zhuǎn)語(yǔ)句 39
2.5 綜合練習(xí) 40
本章小結(jié) 41
第3 章 函數(shù)與對(duì)象 43
3.1 封裝的意義 43
3.2 函數(shù)的運(yùn)用 45
3.2.1 函數(shù)的定義 45
3.2.2 函數(shù)的調(diào)用 47
3.2.3 函數(shù)就是值 49
3.2.4 使用內(nèi)置函數(shù) 53
3.3 對(duì)象初體驗(yàn) 57
3.3.1 對(duì)象的定義 57
3.3.2 對(duì)象的靈活性 61
3.4 數(shù)據(jù)結(jié)構(gòu)對(duì)象 63
3.4.1 列表類(lèi)對(duì)象 64
3.4.2 集合類(lèi)對(duì)象 68
3.4.3 字典類(lèi)對(duì)象 71
3.5 綜合練習(xí) 73
本章小結(jié) 76
第4 章 面向?qū)ο缶幊獭?7
4.1 何謂面向?qū)ο蟆?8
4.1.1 接口設(shè)計(jì)與實(shí)現(xiàn) 79
4.1.2 使用類(lèi)繼承語(yǔ)法 83
4.2 深度探索對(duì)象 85
4.2.1 使用原型對(duì)象 85
4.2.2 再探對(duì)象屬性 87
4.2.3 理解Object 對(duì)象 91
4.3 原型繼承機(jī)制 96
4.3.1 理解原型鏈 96
4.3.2 剝開(kāi)語(yǔ)法糖 97
4.4 綜合練習(xí) 100
本章小結(jié) 101
第5 章 異步編程 103
5.1 何謂異步編程 104
5.2 異步實(shí)現(xiàn)方案 106
5.2.1 事件驅(qū)動(dòng) 107
5.2.2 回調(diào)函數(shù) 109
5.3 異步流程控制 110
5.3.1 回調(diào)嵌套 111
5.3.2 異步封裝 113
5.3.3 專(zhuān)用語(yǔ)法 123
5.4 綜合練習(xí) 130
本章小結(jié) 134
第二部分 瀏覽器端的JavaScript
第6 章 前端編程概述 137
6.1 瀏覽器扮演的角色 137
6.2 明確前端開(kāi)發(fā)任務(wù) 138
6.3 前端編程中的JavaScript 140
6.3.1