爆買季
  • 電子書
JavaScript基礎語法詳解:網頁語言全方位學習手冊 (電子書)
主題活動 試閱
收藏試閱本 45
人收藏
適合手機 適合平板

JavaScript基礎語法詳解:網頁語言全方位學習手冊 (電子書)

  • 定價:445特價:356
  • 特價再66折:234
  • 優惠期限:2024年12月08日止
  • 不可銷售區域:中國
載入中...

電子書閱讀軟體

支援瀏覽器說明

APP下載:

  • 分享
 

內容簡介

JavaScript作為一種廣泛應用於網頁開發的程式語言,深受開發者的喜愛與重視。本書透過深度探索JavaScript的各個方面,從基礎知識到高級技巧,徹底掌握這門語言的要點。首先,書籍開篇介紹了JavaScript的發展歷史,從ECMAScript提案流程到不同執行環境的使用方式,讀者能夠全面了解JavaScript的演進背景。透過對瀏覽器和Node.js環境的說明,讀者將掌握如何在不同平台下進行JavaScript開發。此外,書中還詳細介紹了開發工具的選擇與基礎語法概覽,包括變數、運算元、流程控制和函式等,讓讀者建立起堅實的基礎知識。

本書作者是一位具有豐富JavaScript開發經驗的專家,曾參與過多個大型專案的開發與執行。他熟悉JavaScript語言的種種機制與技巧,並在各個領域都有深入的研究。作者將自己的實戰經驗與學習心得融入本書內容中,透過生動的例子和清晰的解說,幫助讀者快速掌握JavaScript的精髓。作者堅信只有深入理解語言背後的原理,才能在實際應用中遊刃有餘,因此本書不僅僅停留在表面知識的傳授,更致力於引導讀者深入思考和學習。

從基礎知識講解到高級技巧,引領讀者逐步深入掌握JavaScript的精髓。在函式部分,不僅介紹了常見的函式定義與呼叫方式,還深入探討了箭頭函式、可變長度引數、閉包、高階函式等進階主題,讓讀者能夠靈活運用函式實現更為複雜的邏輯。探討陣列時,書籍從建立、遍歷、修改到排序、搜尋等方面逐一進行解說,並結合實際案例,讓讀者學會如何利用陣列處理各種數據。除此之外,在對象與對象導向基礎部分,本書詳細介紹了建立對象、訪問屬性、原型、建構函式等內容,幫助讀者了解JavaScript的對象系統及對象導向設計。透過對內建對象如Math、Date、Set等的深入講解,讀者將了解如何利用這些對象提供的方法來處理各種情況。

本書特別強調了異常處理、非同步程式設計和模組化知識,讓讀者能夠提升對JavaScript的開發技能。在異常處理部分,書籍詳細介紹了捕獲異常、丟擲異常、自定義異常等內容,幫助讀者妥善處理程式中可能出現的錯誤情況。透過對非同步程式設計的探討,讀者將學會使用setTimeout、Promise、async/await等技術來處理非同步任務,更好地應對前端和後端開發中的非同步操作。最後,在模組化部分,本書詳細介紹了模組化的配置、Node.js原生模組管理等內容,讓讀者能夠適應大型專案開發的需求,並提升程式碼的可讀性和可維護性。無論是對象導向設計還是函式語言程式設計,本書均提供了豐富的案例和應用場景,讓讀者在各個方面都能夠掌握JavaScript的實際應用技巧,進一步提升開發效率和程式品質。

 

作者介紹

張旭乾,畢業於美國史蒂文斯理工學院,碩士學位,主攻雲端計算和分散式系統方向,並獲得專業認證。擁有13年程式設計經驗,從事過全棧、後端、前端和移動端的開發,對軟體的整體設計和開發有著豐富的經驗,並對軟體工程化的管理有所硏究。現透過內容創作,讓開發者能從技能到思想有全面的提升,包括動畫形式的影片、成體系的前端開發課程和通俗易懂的技術文章等。

 

目錄

內容簡介
作者簡介
前言 PREFACE
第1章 簡介
1.1 發展歷史
1.2 ECMAScript提案流程
1.3 執行JavaScript
1.4 瀏覽器環境
1.5 Node.js環境
1.6 開發工具
1.7 基礎語法概覽
1.7.1 變數與數據類型
1.7.2 運算元
1.7.3 流程ㄇ控制
1.7.4 函式
1.8 嚴格模式
1.9 小結
第2章 基礎知識
2.1 程式結構
2.2 變數
2.2.1 定義變數
2.2.2 變數的命名規範
2.3 常量
2.3.1 定義常量
2.3.2 常量的命名規範
2.4 數據類型
2.4.1 typeof
2.4.2 Number類型
2.4.3 Boolean類型
2.4.4 String類型
2.4.5 Null與Undefined類型
2.4.6 Object類型
2.4.7 Symbol類型
2.4.8 BigInt類型
2.4.9 Array類型
2.4.10 基本類型的特點
2.5 數據類型轉換
2.5.1 隱式類型轉換
2.5.2 顯式類型轉換
2.6 小結
第3章 運算元
3.1 賦值運算元
3.2 數學運算元
3.2.1 一元數學運算元
3.2.2 二元數學運算元
3.2.3 計算順序與優先順序
3.3 比較運算元
3.4 邏輯運算元
3.5 Nullish Coalescing運算元
3.6 三目運算元
3.7 位運算元
3.7.1 與運算
3.7.2 或運算
3.7.3 異或運算
3.7.4 取反運算
3.7.5 左移運算
3.7.6 右移運算
3.7.7 補零右移運算
3.8 組合運算元
3.9 其他運算元
3.10 優先順序表
3.11 小結
第4章 流程控制
4.1 語句
4.2 if...else語句
4.3 if...else if...else語句
4.4 switch...case語句
4.5 while語句
4.6 do...while語句
4.7 for語句
4.8 break和continue語句
4.9 label語句
4.10 小結
第5章 函式
5.1 宣告函式
5.2 呼叫函式
5.3 函式表示式
5.4 箭頭函式
5.5 可選與預設引數
5.6 可變長度引數
5.6.1 arguments
5.6.2 rest運算元
5.7 回撥函式
5.8 作用域
5.8.1 全域性作用域
5.8.2 區域性作用域
5.8.3 提升機制
5.8.4 臨時隔離區
5.9 閉包
5.10 遞迴
5.11 高階函式
5.12 柯裡化
5.13 Memoization
5.14 純函式
5.15 小結
第6章 陣列
6.1 建立陣列
6.2 訪問陣列
6.3 修改元素
6.4 刪除元素
6.5 棧和佇列模式
6.6 陣列遍歷
6.7 陣列過濾和測試
6.8 陣列排序
6.9 陣列連線
6.10 陣列裁切
6.11 搜尋元素
6.12 陣列與字元串
6.13 陣列填充
6.14 陣列複製
6.15 扁平化
6.16 解構賦值
6.17 擴展語法
6.18 多維陣列
6.19 小結
第7章 對象
7.1 建立對象
7.1.1 簡化屬性
7.1.2 計算屬性名
7.2 訪問與新增對象屬性
7.3 遍歷對象屬性
7.4 刪除對象屬性
7.5 getters和setters
7.6 屬性描述符
7.6.1 配置屬性描述符
7.6.2 配置多個屬性描述符
7.6.3 獲取屬性描述符
7.6.4 不可擴展對象
7.7 原型
7.7.1 獲取原型對象
7.7.2 原型鏈
7.7.3 Object.create()
7.8 建構函式
7.8.1 定義
7.8.2 this
7.9 toString()和valueOf()
7.10 call()、apply()與bind()
7.10.1 call()
7.10.2 apply()
7.10.3 bind()
7.11 對象複製
7.12 解構賦值與rest運算元(對象)
7.13 with語句
7.14 值傳遞與引用傳遞
7.15 小結
第8章 對象導向基礎
8.1 簡介
8.2 建立類
8.2.1 定義建構函式
8.2.2 例項化對象
8.2.3 新增行為
8.2.4 注意事項
8.3 實現繼承
8.4 抽象類
8.5 成員變數
8.6 靜態成員
8.7 小結
第9章 字元串與正規表示式
9.1 字元串介紹
9.2 字元串遍歷
9.3 字元串操作
9.3.1 拼接
9.3.2 裁切
9.3.3 搜尋
9.3.4 分割
9.3.5 其他操作
9.4 模板字元串
9.5 正規表示式介紹
9.6 正規表示式語法
9.6.1 特殊字元匹配
9.6.2 匹配次數
9.6.3 區間、邏輯和界定符
9.6.4 分組
9.7 字元串中的正則
9.8 RegExp對象
9.9 常見的正規表示式
9.10 小結
第10章 內建對象
10.1 基本類型包裝對象
10.2 Math
10.3 Date
10.3.1 獲取日期
10.3.2 修改日期
10.3.3 解析日期
10.3.4 日期比較
10.4 JSON
10.4.1 序列化
10.4.2 反序列化
10.5 Set
10.6 Map
10.7 疊代器、可疊代對象和生成器
10.7.1 疊代器
10.7.2 可疊代對象
10.7.3 生成器與生成器函式
10.8 TypedArray
10.8.1 建立類型陣列
10.8.2 屬性和方法
10.9 Symbol
10.9.1 Symbol.match
10.9.2 Symbol.toStringTag
10.9.3 Symbol.isConcatSpreadable
10.9.4 Symbol.toPrimitive
10.9.5 Symbol.hasInstance
10.9.6 Symbol.species
10.10 Console
10.10.1 除錯
10.10.2 顯示
10.10.3 記錄
10.11 Reflect
10.12 Proxy
10.12.1 處理對象
10.12.2 不變性
10.12.3 可回收代理
10.13 小結
第11章 異常處理
11.1 捕獲異常
11.2 throw丟擲異常
11.3 Error對象
11.4 自定義異常
11.5 finally
11.6 捕獲多個異常
11.7 小結
第12章 非同步程式設計
12.1 setTimeout()
12.2 setInterval()
12.3 Promise
12.3.1 建立Promise
12.3.2 鏈式呼叫
12.3.3 處理異常
12.3.4 執行多個Promise
12.4 async/await
12.4.1 定義非同步函式
12.4.2 使用await
12.4.3 處理異常
12.5 非同步疊代
12.6 Event Loop
12.6.1 呼叫棧
12.6.2 Event Loop
12.7 小結
第13章 模組化
13.1 實現模組化的方式
13.2 模組化配置
13.2.1 匯出模組
13.2.2 匯入模組
13.2.3 預設匯出
13.2.4 別名匯入
13.2.5 再匯出
13.2.6 動態匯入
13.3 Node.js原生模組管理
13.4 小結
第14章 案例與總結
14.1 對象導向設計範例:線上服裝商城
14.1.1 需求
14.1.2 Clothing衣服類
14.1.3 Store商城類
14.1.4 User使用者類
14.1.5 Address地址類
14.1.6 Cart購物車類
14.1.7 Order訂單類
14.1.8 範例
14.2 函式語言程式設計範例:擴展陣列API
14.2.1 唯一元素
14.2.2 交集
14.2.3 並集
14.2.4 差集
14.2.5 對稱差集
14.2.6 求和
14.2.7 平均值
14.2.8 範圍
14.2.9 分割
14.2.10 頻次
14.2.11 匯出
14.2.12 呼叫範例
14.3 下一步規劃
14.3.1 前端
14.3.2 後端
14.3.3 特定領域
14.4 寫在最後

 

前言 PREFACE
感謝你從眾多有關JavaScript的書中選擇本書。自從分享前端教學影片之後,筆者發現JavaScript基礎是阻礙開發者編寫前端、後端應用的絆腳石,所以想透過一種比較系統的、全面的途徑整合JavaScript基礎知識和最新特性。後來機緣巧合,收到邀請編寫一本關於JavaScript的書,此前也曾想過出一本書,但是由於工作和時間的緣故都放棄了,而現在正好有空閒的時間,所以就想利用這次機會把筆者對JavaScript的理解和經驗編纂整理成書,幫助讀者學習JavaScript。如果你有其他語言程式設計經驗或有過JavaScript的開發經驗,則會對理解本書的內容更加有幫助,但是如果你是程式設計初學者,則可以把本書作為長期學習目標,邊實踐邊總結同樣可以完全掌握。
本書主要講解JavaScript基礎語法,並涵蓋了從ES6到ES2020的新特性,也包括一些即將在ES2021釋出的新特性,以較為全面和深入的方式介紹這些語法和新特性的概念、使用方法和注意事項。由於JavaScript發展到今天已經成為通用的程式語言,可以開發前端、後端、移動端、機器學習、數據視覺化等行業的應用,而且每種開發環境下所提供的JavaScript功能和特性均不相同,所以本書有意去掉了HTML、CSS、DOM操作及Node.js API的介紹,目的就是讓全職業的JavaScript工程師都可以閱讀,無論你是前端工程師、Node.js工程師、使用者體驗設計師、演算法工程師還是數據工程師,在無須關注特定領域API的基礎上,能夠盡可能全、盡可能快地掌握JavaScript語法本身,以便於在後期開發的過程中不再遇到語言、語法上的問題。至於特定領域的內容,每個領域都可以單獨成書,而編寫本書的初衷並不是大而全,不過本書的最後一章會根據各個職業的特點給出一個大體的學習方向,可以讓讀者參考它們並繼續深入。
在內容編排上,本書基本按照由易到難的順序對知識點進行排列,不過即便如此,不同章節之間仍有很多交叉引用,因為學習程式設計並不是線性的,經常需要用到其他章節的知識點介紹某章的某個概念,如果有不理解的地方,則可以先暫時跳過,待看完一遍本書後再回過頭來研究之前跳過的部分。本書共14章,內容如下:
第1章主要介紹為什麼學習JavaScript、JavaScript的發展歷史,以及如何編寫並執行JavaScript程式碼和語法概覽。
第2章介紹JavaScript程式的基礎結構、如何定義變數並儲存不同數據類型的數據、每種數據類型的特點和取值範圍,包括ES6新定義的Symbol和ES2020新定義的BigInt類型,以及不同數據類型之間的相互轉換。
第3章介紹運算元的概念及分類、如何使用JavaScript進行數學運算、邏輯比較、邏輯運算、位運算,以及不同運算元之間的優先順序,還介紹ES2020中定義的Nullish Coalescing(空值合併)運算元。
第4章介紹語句和語句塊的概念,以及在JavaScript中如何定義分支語句、循環語句和中斷語句。
第5章介紹JavaScript的語法核心——函式的概念、定義和使用方法,函式引數,箭頭函式,閉包及函式語言程式設計中的一些基本概念,如遞迴、高階函式、柯裡化、Memoization等。
第6章介紹陣列的概念和用法、佇列和棧模式、陣列中常用的API,如遍歷、過濾、排序、裁切、搜尋、reduce、扁平化等操作,以及針對陣列的解構賦值和擴展運算元。
第7章介紹JavaScript最常用的數據類型——對象的定義方法、訪問和修改對象的屬性,屬性描述符,getters和setters,原型及原型鏈的概念,建構函式及針對對象的解構賦值和擴展運算元的用法。
第8章在對象的基礎上介紹ES6新出的class關鍵字的用法,並藉此介紹對象導向的基本概念、如何實現繼承和抽象類、成員和靜態成員的區別,以及使用私有成員保護類的數據。
第9章介紹字元串和正規表示式的概念,因為字元串在程式設計中的用途最為廣泛,所以在單獨的章節介紹它提供的API,以及如何使用正規表示式對字元串進行匹配。
第10章介紹JavaScript的內建對象,如與數學相關的Math、與日期相關的Date、與對象表示相關的JSON、Set和Map數據結構,以及疊代器和生成器、TypedArray、Symbol類型的高級用法、Reflect和Proxy的概念和用法等。
第11章介紹異常處理方式和Error對象的擴展方法,以及try...catch...finally語句的用法。
第12章介紹JavaScript非同步程式設計的概念、setTimeout()和setInterval()的用法和區別、Promise的使用方法及與傳統回撥函式的區別、async/await關鍵字的使用方法、非同步疊代器和生成器,以及Event Loop的原理。
第13章介紹模組化實現的方式,本章把語法分為ES6和Node.js兩種,因為它們的語法規範並不相同且都十分常用,所以分別介紹如何使用ES6語法和Node.js的CommonJS方式匯出、匯入模組。
第14章給出兩個JavaScript程式設計綜合案例,展示對象導向程式設計和函式語言程式設計的兩種風格,同時給出了學完本書後的一些發展方向,並針對前端、後端、機器學習和數據工程師分別總結了比較重要的概念和JavaScript庫,以便於了解下一步該如何進行。
本書中對於較複雜的範例會提供原始碼,命名遵循章節/概念+編號.js的規則。例如chapter2/string1.js,同一概念的範例後邊按順序對編號進行加1,原始碼目錄會使用註釋的方式標註在範例程式碼的第1行。
在本書的編寫過程中,感謝趙佳霓編輯對內容和結構上的指導,以及細心的審閱,讓本書更加完善和嚴謹,也感謝出版社的排版、設計、審校等所有參與本書修訂過程的工作人員,有了你們的支持才會有本書的出版。另外感謝筆者的家人,在筆者專心寫作的時候給了筆者無盡的關懷和耐心的陪伴,還感謝筆者的朋友、同學和同事,在筆者有問題和困難時及時地提供了幫助。
儘管本書經過多次檢查,但難免會有疏漏和解釋不到位的情況,敬請讀者批評指正。
再次感謝選擇本書!
張旭乾

 

詳細資料

  • EISBN:9786263639478
  • 規格:普通級
  • 出版地:台灣
  • 檔案格式:EPUB流動版型
  • 建議閱讀裝置:手機、平板
  • TTS語音朗讀功能:無
  • 檔案大小:7.4MB

最近瀏覽

 

相關活動

  • 【自然科普、電腦資訊】電腦人X創意市集 電子書全書系|單書85折、雙書79折、滿699折50|AI協作、事半功倍
 

購物說明

使用電子書服務即為同意『博客來數位內容服務條款』請詳見客服中心說明。

自備暢通的網際網路連線及符合博客來支援的行動裝置、電腦作為閱讀工具,支援版本如下:

瀏覽器閱讀:無需安裝,即可閱讀。支援Safari (14以上版本)、Chrome (103以上版本) 、Edge瀏覽器 (106以上版本)。

APP閱讀:支援IOS13及Android 7以上系統。

電子書、 電子雜誌因版本屬性因素,恕無法比照紙本書籍提供MP3、DVD實體光碟,亦無提供相關影音檔案下載,請先確認無此需求再行下單購買。

請注意:

博客來電子書服務所使用之軟體程式及其支援行動裝置之可用版本隨時會更新調整,請隨時留意且主動查詢調整之內容。並請定時更新您的行動裝置作業系統版本,以確保本服務運作正常。若因個人裝置因素(如:其他應用程式衝突、裝置記憶體不足、行動裝置支援版本無法升級),無法使用博客來電子書閱讀服務或影響服務效能,需自行進行排除待符合博客來支援項目再行閱讀。

退換貨說明:

電子書購買前請務必先行試閱,不提供10天的猶豫期。

下列商品購買後博客來不提供10天的猶豫期,請務必詳閱商品說明並再次確認確有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫博客來客服詢問:

1.易於腐敗、保存期限較短或解約時即將逾期。
2.客製化之商品。
3.報紙、期刊或雜誌。
4.經消費者拆封之影音商品或電腦軟體。
5.下載版軟體、資訊及電子書、有聲書及影音.課程
6.涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。
7.藝文展覽票券、藝文表演票券。

  • 城邦
  • 2024聯合線上聯合策展
  • 曾寶儀的人生藏寶圖