JavaScript程式設計的樂趣|範例實作與專題研究的程式設計課

    節奏明快又充滿樂趣的程式設計入門,結合JavaScript、HTML、CSS邊學邊做,從變數、函式到DOM操作,最後完成乒乓球遊戲、電子音樂與資料視覺化三大專案,輕鬆踏進程式世界。

    收集中
    US$18.71

    內容簡介


    JavaScript快速入門與樂趣兼備

    《JavaScript程式設計的樂趣》是一本節奏明快又充滿樂趣的程式設計入門指南,帶你用 JavaScript輕鬆踏進程式設計的世界。翻開本書,立刻開始撰寫程式、解決問題,並在短時間內完成可運作的網頁應用與遊戲。

    你將從學習變數、陣列、物件、函式、條件判斷、迴圈、類別等基本的程式設計概念開始;在生動的範例和實作練習的幫助下,這些基礎知識將幫助你結合JavaScript、HTML與CSS,建立可以立即執行的互動式網頁應用程式。

    接著,你將運用新習得的技能完成三個專案:
    一個有虛擬對手的乒乓球模擬遊戲
    一個能產生電子音樂的應用程式
    一個能從API取得資料並進行視覺化的平台

    在這個過程中,你將學到如何:
    .透過操作文件物件模型(DOM)來即時更新網頁內容。
    .觸發函式來回應按鍵和滑鼠點擊等事件。
    .使用JavaScript和HTML的Canvas元素產生圖形和動畫。
    .利用D3.js程式庫和可縮放向量圖形(SVG)進行資料視覺化。
    .運用Tone.js和Web Audio API製作電子音樂。

    如果你正想一探程式設計,《JavaScript程式設計的樂趣》就是你的魔法工具,帶你快速進入這個奇妙世界,輕鬆寫出真正的程式。別再等了,現在就出發吧!

    作者介紹


    關於作者
    Nick Morgan 是一位成就斐然的軟體工程師,曾任職於Airbnb和Twitter等業界巨頭。他也是《JavaScript for Kids》(No Starch Press)的作者,致力於讓程式設計變得有趣、易於接觸,且適合所有人學習。

    關於技術評審員
    Angus Croll 來自英國,現居住在美國加州舊金山灣區,在Netflix從事所有跟優最佳化性能有關 的工作。他是文學小說和JavaScript的愛好者,也是《如果海明威寫了JavaScript》(No Starch Press,2014 年)以及Babel官方歌曲的作者。他還編寫並維護了流行的Just實用程式庫。

    目錄


    PART I 語言

    Chapter 1 從這開始
    使用JavaScript控制台
    使用文字編輯器
    總結

    Chapter 2 基礎知識
    表達式和陳述式
    數字和運算子
    綁定
    遞增和遞減
    字串
    跳脫序列
    樣板字面值
    未定義和空值
    布林值
    型別強制轉換
    總結

    Chapter 3 複合資料型別
    陣列
    物件
    巢狀物件和陣列
    總結

    Chapter 4 條件和迴圈
    用條件做出決定
    使用迴圈重複執行程式碼
    總結

    Chapter 5 函式
    宣告和呼叫函式
    將函式作為引數傳遞
    其他函式語法
    其餘參數
    高階函式
    總結

    Chapter 6 類別
    建立類別和實例
    繼承
    基於原型的繼承
    總結

    PART II 互動式JAVASCRIPT

    Chapter 7 HTML、DOM與CSS
    HTML
    文件物件模型(DOM)
    script 元素
    CSS
    在JavaScript中使用CSS選擇器
    總結

    Chapter 8 基於事件的程式
    事件處理器
    滑鼠移動事件
    鍵盤事件
    總結

    Chapter 9 CANVAS元素
    建立Canvas
    製作靜態繪圖
    與Canvas互動
    動畫Canvas
    總結

    PART III 專案

    PROJECT 1 建立遊戲

    Chapter 10 PONG
    遊戲簡介
    設定

    重構
    遊戲迴圈
    彈跳
    球拍
    計分
    電腦控制
    遊戲結束
    完整程式碼
    總結

    Chapter 11 物件導向PONG
    物件導向設計
    檔案結構
    GameView類別
    遊戲元素
    分數和電腦類別
    遊戲類別
    遊戲開始
    總結

    PROJECT 2 製作音樂

    Chapter 12 產生聲音
    Web Audio API
    Tone.js 程式庫
    Tone.js Transport
    製作鼓聲
    使用樣本
    總結

    Chapter 13 寫一首歌
    開始組織
    事件處理
    製作鼓聲
    加入貝斯線
    加入和弦
    演奏旋律
    完整程式碼
    總結

    PROJECT 3 資料視覺化

    Chapter 14 介紹D3程式庫
    SVG圖形格式
    D3程式庫
    製作長條圖
    總結

    Chapter 15 視覺化GITHUB搜尋API的資料
    設定
    抓取資料
    基本視覺化
    改進視覺化
    增加互動性
    完整程式碼
    總結

    後記

    章节目录

    • 1-1
      封面
    • 1-2
      書名頁
    • 1-3
      對本書的讚譽
    • 1-4
      目錄
    • 1-5
      致謝
    • 1-6
      前言
    • 1-7
      這本書適合誰閱讀?
    • 1-8
      為什麼選擇JavaScript?
    • 1-9
      你能從中學到什麼?
    • 1-10
      線上資源
    • 1-11
      Part I 語言
    • 1-12
      1
    • 1-13
      從這開始
    • 1-14
      使用JavaScript控制台
    • 1-15
      使用文字編輯器
    • 1-16
      總結
    • 1-17
      2
    • 1-18
      基礎知識
    • 1-19
      表達式和陳述式
    • 1-20
      數字和運算子
    • 1-21
      浮點數
    • 1-22
      運算順序
    • 1-23
      綁定
    • 1-24
      變數
    • 1-25
      常數
    • 1-26
      命名慣例
    • 1-27
      遞增和遞減
    • 1-28
      加法與減法指派
    • 1-29
      乘法和除法指派
    • 1-30
      字串
    • 1-31
      連接字串
    • 1-32
      尋找字串的長度
    • 1-33
      從字串中取得字元
    • 1-34
      修剪字串中的空白
    • 1-35
      從字串中取得多個字元
    • 1-36
      其他有用的字串方法
    • 1-37
      跳脫序列
    • 1-38
      樣板字面值
    • 1-39
      未定義和空值
    • 1-40
      布林值
    • 1-41
      邏輯運算子
    • 1-42
      比較運算子
    • 1-43
      型別強制轉換
    • 1-44
      帶有強制轉型的相等性
    • 1-45
      真值性
    • 1-46
      真值性的用途
    • 1-47
      總結
    • 1-48
      3
    • 1-49
      複合資料型別
    • 1-50
      陣列
    • 1-51
      建立和索引
    • 1-52
      陣列中的陣列
    • 1-53
      陣列方法
    • 1-54
      物件
    • 1-55
      存取物件值
    • 1-56
      建立物件
    • 1-57
      使用物件
    • 1-58
      設定物件值
    • 1-59
      巢狀物件和陣列
    • 1-60
      使用字面值進行巢狀結構
    • 1-61
      使用變數進行巢狀結構
    • 1-62
      在控制台中探索巢狀物件
    • 1-63
      使用JSON.stringify列印巢狀物件
    • 1-64
      總結
    • 1-65
      4
    • 1-66
      條件和迴圈
    • 1-67
      用條件做出決定
    • 1-68
      if 陳述式
    • 1-69
      if...­else 陳述式
    • 1-70
      更複雜的條件
    • 1-71
      串接if...else陳述式
    • 1-72
      使用迴圈重複執行程式碼
    • 1-73
      while迴圈
    • 1-74
      for迴圈
    • 1-75
      for...of迴圈
    • 1-76
      for...in 迴圈
    • 1-77
      總結
    • 1-78
      5
    • 1-79
      函式
    • 1-80
      宣告和呼叫函式
    • 1-81
      回傳值
    • 1-82
      參數型別
    • 1-83
      副作用
    • 1-84
      將函式作為引數傳遞
    • 1-85
      其他函式語法
    • 1-86
      函式表達式
    • 1-87
      箭頭函式
    • 1-88
      其餘參數
    • 1-89
      高階函式
    • 1-90
      接受回呼的陣列方法
    • 1-91
      接受回呼函式的客製化函式
    • 1-92
      回傳函式的函式
    • 1-93
      總結
    • 1-94
      6
    • 1-95
      類別
    • 1-96
      建立類別和實例
    • 1-97
      繼承
    • 1-98
      基於原型的繼承
    • 1-99
      使用建構函式和原型
    • 1-100
      比較建構函式和類別
    • 1-101
      探索 Object.prototype
    • 1-102
      遍歷原型鏈
    • 1-103
      重寫方法
    • 1-104
      總結
    • 1-105
      Part II 互動式JavaScript
    • 1-106
      7
    • 1-107
      HTML、DOM與CSS
    • 1-108
      HTML
    • 1-109
      建立HTML文件
    • 1-110
      理解巢狀關係
    • 1-111
      文件物件模型(DOM)
    • 1-112
      DOM API
    • 1-113
      元素識別碼
    • 1-114
      script元素
    • 1-115
      CSS
    • 1-116
      link 元素
    • 1-117
      規則集
    • 1-118
      選擇器
    • 1-119
      在JavaScript中使用CSS選擇器
    • 1-120
      總結
    • 1-121
      8
    • 1-122
      基於事件的程式
    • 1-123
      事件處理器
    • 1-124
      事件冒泡
    • 1-125
      事件委派
    • 1-126
      滑鼠移動事件
    • 1-127
      鍵盤事件
    • 1-128
      總結
    • 1-129
      9
    • 1-130
      Canvas元素
    • 1-131
      建立Canvas
    • 1-132
      製作靜態繪圖
    • 1-133
      繪製描邊矩形
    • 1-134
      使用路徑繪製其他形狀
    • 1-135
      與Canvas互動
    • 1-136
      動畫Canvas
    • 1-137
      總結
    • 1-138
      Part III 專案
    • 1-139
      Proj­ect 1
    • 1-140
      建立遊戲
    • 1-141
      10
    • 1-142
      Pong
    • 1-143
      遊戲簡介
    • 1-144
      設定
    • 1-145
    • 1-146
      重構
    • 1-147
      遊戲迴圈
    • 1-148
      彈跳
    • 1-149
      球拍
    • 1-150
      以玩家輸入移動球拍
    • 1-151
      檢測球拍碰撞
    • 1-152
      在球拍兩端彈跳
    • 1-153
      計分
    • 1-154
      電腦控制
    • 1-155
      遊戲結束
    • 1-156
      完整程式碼
    • 1-157
      總結
    • 1-158
      11
    • 1-159
      物件導向PONG
    • 1-160
      物件導向設計
    • 1-161
      GameView類別
    • 1-162
      檔案結構
    • 1-163
      遊戲元素
    • 1-164
      球拍
    • 1-165
    • 1-166
      分數和電腦類別
    • 1-167
      遊戲類別
    • 1-168
      遊戲開始
    • 1-169
      總結
    • 1-170
      Proj­ect 2
    • 1-171
      製作音樂
    • 1-172
      12
    • 1-173
      產生聲音
    • 1-174
      Web Audio API
    • 1-175
      設定
    • 1-176
      使用Web Audio API產生音調
    • 1-177
      Tone.js程式庫
    • 1-178
      使用Tone.js產生音調
    • 1-179
      理解Tone.Synth選項
    • 1-180
      依序演奏更多音符
    • 1-181
      同時演奏多個音符
    • 1-182
      Tone.js Transport
    • 1-183
      Tone.Loop
    • 1-184
      Tone.Sequence
    • 1-185
      Tone.Part
    • 1-186
      製作鼓聲
    • 1-187
      腳踏鈸合成
    • 1-188
      小鼓合成
    • 1-189
      低音鼓合成
    • 1-190
      殘響
    • 1-191
      鼓迴圈
    • 1-192
      使用樣本
    • 1-193
      總結
    • 1-194
      13
    • 1-195
      寫一首歌
    • 1-196
      開始組織
    • 1-197
      事件處理
    • 1-198
      製作鼓聲
    • 1-199
      加入貝斯線
    • 1-200
      加入和弦
    • 1-201
      演奏旋律
    • 1-202
      完整程式碼
    • 1-203
      總結
    • 1-204
      Proj­ect 3
    • 1-205
      資料視覺化
    • 1-206
      14
    • 1-207
      介紹D3程式庫
    • 1-208
      SVG圖形格式
    • 1-209
      組合元素
    • 1-210
      繪製圓形
    • 1-211
      定義路徑
    • 1-212
      使用CSS來設計元素
    • 1-213
      使用JavaScript加入互動性
    • 1-214
      D3程式庫
    • 1-215
      設定
    • 1-216
      選擇
    • 1-217
      資料綁定
    • 1-218
      資料連接
    • 1-219
      即時更新
    • 1-220
      轉場和鍵函式
    • 1-221
      進階連接
    • 1-222
      製作長條圖
    • 1-223
      設定
    • 1-224
      計算字元頻率
    • 1-225
      繪製長條圖
    • 1-226
      使用CSS和正規表達式設計樣式
    • 1-227
      清理資料
    • 1-228
      加入動畫效果
    • 1-229
      總結
    • 1-230
      15
    • 1-231
      視覺化GitHub搜尋API的資料
    • 1-232
      抓取資料
    • 1-233
      設定
    • 1-234
      基本視覺化
    • 1-235
      建立元素
    • 1-236
      繪製坐標軸
    • 1-237
      繪製長條圖
    • 1-238
      改進視覺化
    • 1-239
      顯示儲存庫資訊
    • 1-240
      長條圖的顏色編碼
    • 1-241
      標記左側軸
    • 1-242
      增加互動性
    • 1-243
      根據授權條款過濾資料
    • 1-244
      加入動畫效果
    • 1-245
      完整程式碼
    • 1-246
      總結
    • 1-247
      後記
    • 1-248
      索引
    • 1-249
      版權頁
    • 1-250
      封底

    常见问答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜欢

    | 尚无内容

    用户评价

    | 收集中

    销售方案