「困難」排除、超群的檢索功能、範例現學現用
專家達人精選的珍貴職場實用技巧
學習一門語言的不二法門,就是從學會閱讀一本好的辭典開始!
市面上最嚴謹精美的閱讀版型,
不論從目錄索引、書側章節索引、頁首關聯示例或書末函數索引表,
都可以連結你腦中的關鍵詞,立即找到範例頁數。
不同於一般JavaScript教科書與舊版辭典書籍,
內容使用最新HTML5應用實例,
搭配便利的JQuery函示庫不須一步一步從頭教學建立。
以網頁設計師的基礎上去掉冗長的html格式,
頁面只簡潔呈現重要的函數與方法變化的程式碼,
並以變數/設定值列表、步驟示範圖例清晰解說呈現套用效果。
另外,本書具兩大特點更加強化索引功能與使用方便性。
除各單元頁面所列的本頁關鍵詞索引外,
並附上【關聯】與【使用場合】列舉相關函數/設定值等,
替設計師預設各種網頁效果應用與出錯問題情境。
●第1章 基本語法∼第3章 基本物件
這3章整理了不受執行環境影響的JavaScript基本語法與內建物件的用法。
其中也包含了JavaScript特殊的語法習慣,尤其函數/物件指向語法是容易犯錯的主題。
●第4章頁面操作∼第7章UI開發 輸入輔助/範本引擎/ Canvas篇
從利用JavaScript最具代表性的程式庫jQuery / jQuery UI進行的樹狀文件操作,
到事件驅動開發、頁籤面板與自動完成功能這類有關UI的撰寫都將一一介紹。
●第8章程式開發∼第10章CoffeeScript
介紹Ajax傳輸、HTML5的JavaScript API、行動裝置開發這些與應用程式開發有關且較深入的主題。
最後一章則介紹能取代JavaScript的簡易版語言CoffeeScript。
作者簡介:
山田 祥寛(やまだ よしひろ)
生於靜岡縣榛原町。於一橋大學經濟學部畢業後,於NEC從事系統企劃業務,
2003年4月辭去工作,成為夢想中的自由筆者。
擁有Microsoft MVP for ASP.NET/IIS資格。
也是社群「WINGSプロジェクト(WINGS Project)」的代表。
主要著作有『10日でおぼえる入門教室シリーズ(10天一定學會入門教室系列!)』
(SQL Server、ASP.NET、 JSP /Servlet、PHP、XML)、
『 習シリーズ(自學系列)』(伺服端Java、PHP、ASP.NET)(以上皆為翔泳社出版);
『Ruby on Rails 4アプリケーションプログラミング(Ruby on Rails 4應用程式設計)』、『AndroidエンジニアのためのモダンJava( Android引擎專用的現代化Java)』、
『JavaScript本格入門(JavaScript正統入門)』(以上為技術評論社出版);
『TECHNICAL MASTER はじめてのAndroidアプリ開発(TECHNICAL MASTER的Android 程式開發入門)』、
『ASP.NETMVC実践プログラミング(ASP.NET MVC實踐程式設計)』(以上為秀和システム出版);
『Catalyst 完全入門』、『基礎Perl』(以上為インプレス出版)、
『書き込み式 SQLのドリル(嵌入式SQL教程)』(以上為日経BP社出版)。
此外,也於@IT(.NET、Windows)、CodeZine網站連載,
於「日経ソフトウエア」(日経BP社)執筆專欄。
最近每天都在從事IT相關技術的採訪與演講,
關於近期的活動內容請參考作者的網站(http://ww.wings.msn.to/)。
目錄
CONTENTS
序言
版面結構
執行環境
範例檔下載位址
第1章 基本語法
1.1 JavaScript的基本
1 將JavaScript的程式碼嵌入HTML頁面
2 了解JavaScript的基本語法
3 替JavaScript的程式碼加入註解
4 根據註解快速製成規格表
5 剔除JavaScript中的危險語法
6 壓縮JavaScript的程式碼
7 使用變數
8 輸出字串
9 禁止字串中出現斷行字元或標籤
10 顯示數值類型的值
11 標記真假(布林)值
12 建立陣列
13 建立關聯式陣列
1.2 型態變換與型態判定
14 想轉換資料型態
15 想更簡單地轉換資料型態
16 判斷變數資料型態
1.3 演算子
17 了解i++與++i的差異
18 了解「0.1*3」等於0.30000000000000004的理由
19 了解基本型與參照型的不同(代入與比較)
20 了解 == 與 === 的差異
1.4 控制語法
21 公式在邏輯運算中被忽略的情況
22 條件分歧處理
23 依變數內容進行不同處理
24 根據條件重覆執行處理
25 指定處理重覆執行的次數
26 依序列舉物件的屬性
27 中斷或跳離迴圈
第2章 函數與物件導向
2.1 函數
28 自訂使用者自訂函數
29 設定參數的預設值
30 確認必要參數
31 接收附有名稱參數
32 定義可變長度參數的函數
33 將函數當成參數傳遞
2.2 Scope
34 了解區域變數的有效範圍
35 了解「變數的提昇為何物
36 讓所有變數納區域有效範圍
2.3 物件導向
37 定義類別
38 替類別新增方法
39 替類別新增靜態成員
40 繼承類別
41 定義無法從外部存取的屬性與方法
42 判斷物件的型態
43 避免類別名稱產生衝突
44 定義有階層構造的命名空間
第3章 基本物件
3.1 數學
45 四捨五入小數點以下的數值
46 針對任何位數進行四捨五入計算
47 計算n進位的數值
48 求得亂數
49 進行絕對值、次方值、平方根這類數學運算
3.2 字串
50 取得字串長度
51 大/小寫英文字母轉換
52 剔除字串中的空白字元
53 從字串擷取部分字串
54 搜尋特定字串
3.3 正規表示式
55 正規表示式的使用
56 利用正規表示式確認字串的匹配
57 以正規表示式搜尋字串
58 利用正規表示式搜尋多行字串
59 以正規表示式取得更精準的搜尋結果
60 利用正規表示式置換字串
61 利用正規表示式切割字串
3.4 陣列
62 新增/刪除陣列的元素
63 讓陣列與陣列合併
64 想讓雜湊物件/物件彼此融合
65 取得陣列的大小
66 合併陣列元素
67 擷取陣列的部分元素
68 置換陣列內容
69 替陣列的元素排序
70 依序處理陣列/物件的內容
71 依序加工陣列元素
72 依特定條件篩選陣列內容
73 搜尋陣列內容
3.5 日期
74 操作日期/時刻資訊
75 分別設定日期/時刻資訊
76 取得日期/時刻元素
77 從日期字串取得時間戳記
78 將日期/時間轉換成字串
79 針對日期/時間進行加/減法計算
80 計算日期/時間的差距
3.6 瀏覽器操作
81 於一段時間之後進行處理
82 於固定時間間隔進行處理
83 在頁面之中移動
84 將目前的頁面儲存至歷程記錄中
85 將字串轉譯為URI
86 物件與JSON字串互相轉換
第4章 頁面操作
4.1 jQuery的基本功能
87 導入jQuery
88 讓早期開發的應用程式支援最新版本的jQuery
89 搜尋HTML頁面中的特定元素
90 載入檔案之後再執行程式碼
4.2 樣式操作
91 變更元素的樣式
92 設定/移除樣式類別
93 快速套用/移除樣式類別
94 取得/設定元素的高度/寬度
4.3 屬性/文字操作
95 取得/設定捲動位置
96 取得/設定元素的屬性
97 取得/設定表單元素的值
98 取得/設定元素底下的文字
99 取得/設定元素的屬性
4.4 遍歷與檔案連結
100 穿梭於父子/兄同輩元素(弟)之間
101 以目前的元素為起點搜尋其他元素
102 以特定條件篩選元素組的內容
4.5 元素操作
103 插入新增的元素
104 移動既存的元素
105 將既存的元素置換成其他元素
106 刪除既存的元素
107 移除元素的內容
4.6 事件處理
108 依照觸發的事件進行處理
109 了解jQuery的標準事件
110 在滑鼠游標出入元素時執行處理
111 在第一次點選時進行處理
112 偵測非jQuery標準事件的事件
113 將事件監聽器新增至還未建立的元素
114 同時設定多個事件監聽器
115 移除事件監聽器
116 取得事件觸發之際的滑鼠資訊
117 取得事件觸發之際的鍵盤資訊
118 將參數傳遞給事件監聽器
119 讓JavaScript「不唐突」
120 取消事件處理
第5章 特效&互動性
5.1 基本效果
121 套用動畫效果
122 在動畫播放結束時執行處理
123 自訂動畫效果
124 套用/移除樣式類別時播放動畫
125 慢慢地切換成另一種樣式
126 在元素顯示/隱藏時播放動畫
127 在元素套用各種特效
128 呈現移動的動畫
129 指定動畫的變化程度
130 停用動畫
5.2 互動性
131 利用拖曳操作調整圖片大小
132 縮放文字區塊
133 透過拖放操作重新排列元素
134 限制可調換順序的元素
135 讓可排序的列表項目的拖曳位置更加顯眼
136 建立可同時拖曳多個項目的列表
137 將元素設定為可拖放的狀態
138 限定可拖放的元素
139 不使用jQuery UI啟用拖放功能
140 從其他應用程式拖放文字
141 將檔案拖曳至瀏覽器中
第6章 UI開發——面板/選單/資料呈現篇
6.1 jQuery UI基本功能
142 使用jQuery UI
143 自訂jQuery UI的主題
144 使用jQuery UI內建的圖示集
145 進一步控制小工具的顯示位置
146 自訂套用於小工具的特效
6.2 列表/面板
147 建立折疊式面板
148 建立標籤面板
149 將標籤面板的內容儲存為外部檔案
150 建立對話框
151 從外部檔案取得對話框的內容
152 建立工具提示
153 自訂工具提示的內容
6.3 選單
154 建立功能豐富的選單
155 建立內容選單
6.4 資料呈現
156 放大顯示圖片/動畫
157 建立支援排序/分頁的表格
158 繪製折線圖
159 繪製長條圖
160 繪製圓餅圖
161 繪製散佈圖
162 繪製泡泡圖
163 繪製雙軸圖表
第7章 UI開發——輸入輔助/範本引擎/Canvas篇
7.1 輸入輔助
164 建立自動完成功能的文字方塊
165 自訂搜尋候補的規則
166 於頁面反映候補列表的新增資訊
167 從資料庫取得候補列表
168 建立日期選取方塊
169 自訂日期選取方塊中的日期格式
170 指定日期選取方塊的日期輸入範圍
171 點選按鈕就顯示月曆
172 建立數值輸入方塊
173 依地區設定顯示數值
174 建立滑桿方塊
175 建立範圍滑桿或垂直滑桿
176 讓按鈕/連結/選取按鈕/核取方塊變得更漂亮
177 輸入數值的驗證功能
178 建立自訂的驗證規則
179 建立精靈格式的表單
180 建立檔案上傳器
7.2 範本引擎
181 讓頁面設計與邏輯程式分離
182 在範本中建立條件分歧處理與迴圈處理
183 想加工範本中的資料
184 自訂標籤
7.3 Canvas
185 不使用外掛程式繪製圖形
186 在畫布中繪製矩形
187 在畫布中繪製直線
188 繪製多邊形
189 設定圖形的樣式
190 替畫布的填色套用漸層效果
191 繪製圓形與圓弧
192 繪製貝茲曲線
193 在畫布中繪製文字
194 在畫布中植入圖片
195 沿著特定範圍裁切圖片
196 沿著垂直/水平方向重覆貼入圖片
197 縮放/旋轉/移動圖片
198 以Data URL格式輸出畫布內容
第8章 APP開發
8.1 Ajax
199 將非同步傳輸取得的內容反映至頁面中
200 以JavaScript處理非同步傳輸的結果
201 存取JSON格式的Web API
202 設定Ajax傳輸方式的進階選項
203 定義非同步傳輸開始/結束/產生錯誤時的共通處理
8.2 定位資訊
204 取得目前所在地的定位資訊
205 設定取得定位資訊時的錯誤處理與取得選項
206 定期取得定位資訊
8.3 Web Storage & Cookie
207 輕鬆操作Cookie
208 將大筆資料儲存至瀏覽器
209 將物件存取於儲存空間
210 參照儲存空間中的所有內容
211 刪除儲存空間中的內容
8.4 音訊/動畫播放
212 播放音訊檔案
213 播放視訊檔案
214 讓音訊/視訊檔案支援多種瀏覽器
215 透過指令檔播放音訊/視訊檔案
216 調整音訊/視訊的音量與播放速度
8.5 檔案操作
217 取得本地檔案的資訊
218 匯入純文字檔案
219 匯入二進位檔案
8.6 其他
220 離線使用APP
221 從快取記憶體剔除局部檔案
222 在背景模式底下執行JavaScrpit程式碼(Worker篇)
223 在背景模式底下執行JavaScrpit程式碼(啟動篇)
224 讓視窗/框架交換訊息
第9章 智慧型手機頁面開發
9.1 jQuery Mobile的基本功能
225 使用jQuery Mobile
226 利用jQuery Mobile建立基本頁面
227 變更jQuery Mobile頁面的設計
228 利用ThemeRoller自訂主題
9.2 表單
229 於jQuery Mobile頁面定義輸入表單
230 於jQuery Mobile頁面顯示按鈕
231 建立附帶圖示的按鈕
232 於jQuery Mobile頁面配置文字輸入方塊
233 賦予文字方塊自訂的功能
234 建立選取按鈕/核取按鈕
235 建立ON / OFF按鈕
236 建立選單
237 建立滑桿選單
238 解除特定表單元素的小工具
9.3 超連結
239 在jQuery Mobile頁面配置連結按鈕
240 變更頁面切換特效
241 提昇頁面切換速度
242 顯示載入訊息
9.4 彈跳式視窗/面板
243 顯示彈跳式視窗
244 顯示對話框
245 建立Lightbox式的圖片彈跳式視窗
246 顯示滑動面板
247 建立可開關的面板
248 建立折疊式面板
9.5 列表/表單
249 建立原生應用程式風格的列表
250 建立巢狀結構列表
251 於列表項目中植入小標題/計數泡泡/圖示
252 群組化列表項目
253 建立回應式表單(Reflow)
254 建立回應式表單(Column toggle)
255 動態篩選列表或表單的內容
256 以未顯示於畫面的文字篩選列表/表單的內容
257 自訂Filterable小工具的搜尋規則
9.6 頁首/頁尾
258 於頁首/頁尾配置按鈕
259 控制頁首/頁尾的顯示方式
260 配置導覽列
9.7 版面
261 建立格狀版面
262 建立回應式格狀版面
9.8 其他
263 設定jQuery Mobile的執行參數
264 於載入/切換頁面之際進行處理
265 依使用者的操作執行處理
第10章 CoffeeScript
10.1 CoffeeScript的基本功能
266 使用CoffeeScript
267 了解CoffeeScript的基本語法
268 在CoffeeScript中宣告變數
269 將變數嵌入字串
270 智慧地顯示多行字串
271 在CoffeeScript中使用陣列/雜湊格式
272 有效率地建立連續數值的陣列
10.2 演算子/控制語法
273 了解CoffeeScript運算子
274 確認變數是否存在
275 確認函數/物件是否存在
276 依條件進行不同的處理
277 明確地寫出否定的條件式
278 依公式的值進行不同處理
279 依條件重覆進行處理
280 依序處理陣列的元素
281 依序處理雜湊內容
282 讓處理重覆執行指定的次數
10.3 函數
283 在CoffeeScript中定義函數
284 替參數設定預設值
285 定義可變長度參數的函數
10.4 物件導向
286 於CoffeeScript定義類別
287 於CoffeeScript定義靜態成員
288 以某個類別為雛型來定義新的類別
289 於Coffee建立類別程式庫
290 於CoffeeScript儲存this文脈
索引
CONTENTS
序言
版面結構
執行環境
範例檔下載位址
第1章 基本語法
1.1 JavaScript的基本
1 將JavaScript的程式碼嵌入HTML頁面
2 了解JavaScript的基本語法
3 替JavaScript的程式碼加入註解
4 根據註解快速製成規格表
5 剔除JavaScript中的危險語法
6 壓縮JavaScript的程式碼
7 使用變數
8 輸出字串
9 禁止字串中出現斷行字元或標籤
10 顯示數值類型的值
11 標記真假(布林)值
12 建立陣列
13 建立關聯式陣列
1.2 型態變換與型態判定
14 想轉換資料型態
15 想更簡單地轉換資料型態
16 判斷變數資料型態...