[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • JavaScript語言精髓與編程實踐 第3版
    該商品所屬分類:圖書 ->
    【市場價】
    916-1328
    【優惠價】
    573-830
    【作者】 周愛民 
    【出版社】電子工業出版社 
    【ISBN】9787121386695
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:電子工業出版社
    ISBN:9787121386695
    商品編碼:70453347150

    品牌:文軒
    出版時間:2020-06-01
    代碼:144

    作者:周愛民

        
        
    "
    作  者:周愛民 著
    /
    定  價:144
    /
    出 版 社:電子工業出版社
    /
    出版日期:2020年06月01日
    /
    頁  數:732
    /
    裝  幀:平裝
    /
    ISBN:9787121386695
    /
    目錄
    ●第1章二十年來的JavaScript1
    1.1網頁中的代碼1
    1.1.1新鮮的玩意兒1
    1.1.2寫在網頁中的第一段代碼2
    1.1.3最初的價值3
    1.2用JavaScript來寫瀏覽器上的應用5
    1.2.1我要做一個聊天室5
    1.2.2Flash的一席之地7
    1.2.3RWC與RIA之爭8
    1.3沒有框架與庫的語言能怎樣發展呢10
    1.3.1做一個框架10
    1.3.2重寫框架的語言層13
    1.3.3富瀏覽器端開發(RWC)與AJAX14
    1.4語言的進化16
    1.4.1Qomo的重生16
    1.4.2QoBean是對語言的重新組織17
    1.4.3JavaScript作為一門語言的進化18
    1.5大型繫統開發20
    1.5.1框架與架構是不同的20
    1.5.2大型繫統與分布式的環境21
    1.5.3劃時代的ES623
    1.6為JavaScript正名24
    1.6.1JavaScript25
    1.6.1.1CoreJavaScript26
    1.6.1.2SpiderMonkeyJavaScript27
    1.6.1.3JScript27
    1.6.2ECMAScript28
    1.7JavaScript的應用環境29
    1.7.1宿主環境30
    1.7.2外殼程序31
    1.7.3運行期環境32
    1.7.4兼容環境下的測試34
    第2章JavaScript的語法36
    2.1語法綜述36
    2.1.1標識符所綁定的語義37
    2.1.2識別語法錯誤與運行錯誤38
    2.2JavaScript的語法:聲明40
    2.2.1變量的數據類型40
    2.2.1.1基本數據類型41
    2.2.1.2宿主定義的其他對像類型42
    2.2.1.3值類型與引用類型42
    2.2.1.4討論:ECMAScript的類型繫統43
    2.2.2變量聲明45
    2.2.2.1塊級作用域的變量聲明與一般var聲明47
    2.2.2.2用賦值模板聲明一批變量48
    2.2.3使用字面量風格的值48
    2.2.3.1字符串字面量、轉義符49
    2.2.3.2模板字面量51
    2.2.3.3數值字面量52
    2.2.4其他聲明53
    2.2.4.1常量聲明53
    2.2.4.2符號聲明54
    2.2.4.3函數聲明55
    2.3JavaScript的語法:表達式運算56
    2.3.1一般表達式運算59
    2.3.1.1邏輯運算59
    2.3.1.2字符串運算60
    2.3.1.3數值運算61
    2.3.2比較運算61
    2.3.2.1等值檢測62
    2.3.2.2序列檢測64
    2.3.3賦值運算67
    2.3.3.1賦值的語義67
    2.3.3.2復合賦值運算符68
    2.3.3.3解構賦值68
    2.3.4函數相關的表達式69
    2.3.4.1匿名函數與箭頭函數70
    2.3.4.2函數調用70
    2.3.4.3new運算72
    2.3.5特殊作用的運算符72
    2.3.5.1類型運算符(typeof)73
    2.3.5.2展開語法(spreadsyntax)74
    2.3.5.3面向表達式的運算符74
    2.3.6運算優先級76
    2.4JavaScript的語法:語句78
    2.4.1表達式語句80
    2.4.1.1一般表達式語句80
    2.4.1.2賦值語句與隱式的變量聲明81
    2.4.1.3函數調用語句82
    2.4.2變量聲明語句86
    2.4.3分支語句87
    2.4.3.1條件分支語句(if語句)87
    2.4.3.2多重分支語句(switch語句)88
    2.4.4循環語句89
    2.4.5流程控制:一般子句91
    2.4.5.1標簽聲明91
    2.4.5.2break子句92
    2.4.5.3continue子句94
    2.4.5.4return子句95
    2.4.6流程控制:異常96
    2.5JavaScript的語法:模塊97
    2.5.1模塊的聲明與加載98
    2.5.1.1加載模塊98
    2.5.1.2聲明模塊100
    2.5.2名字空間的特殊性101
    2.5.2.1名字空間的創建者102
    2.5.2.2名字空間中的名字是屬性名102
    2.5.2.3使用上的一些特殊性103
    2.6嚴格模式下的語法105
    2.6.1語法106
    2.6.2執行108
    2.6.3嚴格模式的範圍110
    2.6.3.1有限範圍下的嚴格模式110
    2.6.3.2非嚴格模式的全局環境112
    2.7運算符的二義性112
    2.7.1加號“+”的二義性114
    2.7.2括號“()”的二義性114
    2.7.3冒號“:”與標簽的二義性116
    2.7.4大括號“{}”的二義性117
    2.7.4.1復合語句/語句塊117
    2.7.4.2聲明對像字面量118
    2.7.4.3函數聲明119
    2.7.4.4結構化異常119
    2.7.4.5模板中的變量引用120
    2.7.4.6解構賦值120
    2.7.5逗號“,”的二義性122
    2.7.6方括號“[]”的二義性123
    2.7.7語法設計中對二義性的處理127
    第3章JavaScript的面向對像語言特性130
    3.1面向對像編程的語法概要130
    3.1.1對像聲明與實例創建132
    3.1.1.1使用構造器創建對像實例132
    3.1.1.2聲明對像字面量134
    3.1.1.3數組及其字面量137
    3.1.1.4正則表達式及其字面量138
    3.1.1.5在對像聲明中使用屬性存取器141
    3.1.2使用類繼承體繫141
    3.1.2.1聲明類和繼承關繫141
    3.1.2.2聲明屬性143
    3.1.2.3調用父類構造方法144
    3.1.2.4調用父類方法145
    3.1.2.5類成員(類靜態成員)146
    3.1.3對像成員147
    3.1.3.1成員的列舉,以及可列舉性147
    3.1.3.2對像及其成員的檢查150
    3.1.3.3值的存取153
    3.1.3.4成員的刪除154
    3.1.3.5方法的調用157
    3.1.4使用對像自身157
    3.1.4.1與基礎類型數據之間的運算157
    3.1.4.2默認對像的指定158
    3.1.5符號158
    3.1.5.1列舉符號屬性159
    3.1.5.2改變對像內部行為159
    3.1.5.3全局符號表160
    3.2JavaScript的原型繼承161
    3.2.1空(null)與空白對像(empty)161
    3.2.1.1空白對像是所有對像的基礎162
    3.2.1.2構造復制?寫時復制?還是讀遍歷?163
    3.2.1.3構造過程:從函數到構造器166
    3.2.1.4內置屬性與方法167
    3.2.1.5原型為null:“更加空白”的對像170
    3.2.2原型鏈的維護171
    3.2.2.1外部原型鏈與constructor屬性172
    3.2.2.2使用內部原型鏈173
    3.2.3原型繼承的實質175
    3.2.3.1簡單模型175
    3.2.3.2基於原型繼承的設計方法177
    3.2.3.3如何理解“繼承來的成員”177
    3.3JavaScript的類繼承179
    3.3.1類是靜態的聲明179
    3.3.2super是全新素181
    3.3.2.1super的作用181
    3.3.2.2super指向什麼182
    3.3.2.3super對一般屬性的意義184
    3.3.2.4super在兩種繼承關繫中的矛盾186
    3.3.2.5super的動態計算過程188
    3.3.3類是用構造器(函數)來實現的189
    3.3.4父類的默認值與null值192
    3.4JavaScript的對像繫統196
    3.4.1封裝與多態196
    3.4.1.1封裝196
    3.4.1.2多態198
    3.4.1.3多態與方法繼承200
    3.4.2屬性201
    3.4.2.1方法201
    3.4.2.2事件205
    3.4.3構造對像繫統的方法206
    3.4.3.1類抄寫206
    3.4.3.2原型繼承209
    3.4.3.3類繼承210
    3.4.3.4直接創建對像211
    3.4.3.5如何選擇繼承的方式213
    3.4.4內置的對像繫統214
    3.4.4.1早期規範(ES5之前)中的對像216
    3.4.4.2集合對像218
    3.4.4.3結構化數據對像221
    3.4.4.4反射對像223
    3.4.4.5其他225
    3.4.5特殊效果的繼承226
    3.5可定制的對像屬性229
    3.5.1屬性描述符230
    3.5.1.1數據描述符230
    3.5.1.2存取描述符231
    3.5.1.3隱式創建的描述符:字面量風格的對像或類聲明232
    3.5.2定制對像屬性233
    3.5.2.1給屬性賦值234
    3.5.2.2使用屬性描述符235
    3.5.2.3取屬性或屬性列表237
    3.5.3屬性表的狀態239
    3.6運行期編程繫統242
    3.6.1關於運行期侵入243
    3.6.1.1運行期侵入的核心機制243
    3.6.1.2可被符號影響的行為244
    3.6.1.3內部方法與反射機制251
    3.6.1.4侵入原型255
    3.6.2類類繼承257
    3.6.2.1原子257
    3.類258
    3.6.2.3類類型繫統260
    3.6.2.4類類型的檢查261
    3.6.2.5類類型的聲明以及擴展特性263
    3.編程模型266
    第4章JavaScript語言的結構化269
    4.1概述269
    4.1.1命令式語言270
    4.1.1.1存儲與數據結構270
    4.1.1.2結構化編程271
    4.1.1.3結構化的疑難272
    4.1.2面向對像語言275
    4.1.2.1結構化的延伸275
    4.1.2.2更高層次的抽像:接口278
    4.1.2.3面向接口的編程方法280
    4.1.3再論語言的分類281
    4.1.3.1對語言範型的簡化281
    4.1.3.2結構化的性質282
    4.1.4JavaScript的語源283
    4.2基本素284
    4.2.1標識符285
    4.2.2表達式286
    4.2.2.1字面量287
    4.2.2.2初始器287
    4.2.3語句288
    4.2.4模塊289
    4.2.5組織的原則290
    4.2.5.1原則一:抑制數據的可變性290
    4.2.5.2原則二:最小邏輯和優選復用291
    4.2.5.3原則三:語法在形式上的清晰與語義一致性293
    4.3聲明294
    4.3.1聲明名字295
    4.3.2確定性296
    4.3.3頂層聲明297
    4.4語句與代碼分塊300
    4.4.1塊301
    4.4.1.1簡單語句302
    4.4.1.2單值表達式302
    4.4.2塊與語句的語法結構303
    4.4.2.1語義上的代碼分塊303
    4.4.2.2分支邏輯中的代碼分塊303
    4.4.2.3多重分支邏輯中的代碼分塊304
    4.4.2.4循環邏輯中的代碼分塊306
    4.4.2.5異常中的代碼分塊308
    4.4.3塊與聲明語句309
    4.4.3.1隻能在塊中進行數據聲明309
    4.4.3.2能同時聲明塊的聲明語句310
    4.4.3.3聲明語句與塊的組織311
    4.4.4塊與語句的值312
    4.4.4.1語句的執行狀態314
    4.4.4.2語句無值315
    4.4.4.3語句有值316
    4.4.5標簽化語句與塊317
    4.5組織形式分塊的方法318
    4.5.1詞法作用域319
    4.5.1.1不存在“級別1:表達式”320
    4.5.1.2級別2:語句320
    4.5.1.3級別3:函數324
    4.5.1.4級別4:模塊325
    4.5.1.5級別5:全局327
    4.5.2執行流程及其變更328
    4.5.2.1級別1:可能的逃逸329
    4.5.2.2級別2:“break<label>;”等語法331
    4.5.2.3級別3:return子句333
    4.5.2.4級別4:動態模塊與Promise中的流程控制.335
    4.5.2.5級別5:throw語句335
    4.5.3詞法作用域之間的相關性336
    4.5.4執行流程變更的內涵337
    4.6層次結構程序設計340
    4.6.1屬性的可見性341
    4.6.1.1屬性在繼承層次間的可見性342
    4.6.1.2屬性在繼承樹(子樹)間的可見性343
    4.6.2多態的邏輯343
    4.6.2.1super是對多態邏輯的綁定344
    4.6.2.2super是一個作用域相關的綁定345
    4.6.3私有作用域的提出347
    4.7歷史遺產:變量作用域349
    4.7.1變量作用域350
    4.7.1.1級別3:函數(局部變量)351
    4.7.1.2級別4:模塊352
    4.7.1.3級別5:全局變量352
    4.7.2變量的特殊性與變量作用域的關繫353
    4.7.2.1變量提升353
    4.7.2.2變量動態聲明354
    4.7.2.3變量隱式聲明(全局屬性)355
    4.8私有屬性與私有字段的紛爭356
    4.8.1私有屬性的提出357
    4.8.1.1對像字面量中的作用域問題357
    4.8.1.2類聲明中的作用域問題359
    4.8.1.3識別“對像自己(訪問)”360
    4.8.1.4識別“對像訪問(自己)”361
    4.8.2從私有屬性到私有成員361
    4.8.2.1私有屬性與私有字段361
    4.8.2.2私有字段與私有變量363
    4.8.2.3再論私有成員364
    4.8.3“類字段”提案的實現概要364
    4.8.3.1語法設計365
    4.8.3.2實現框架366
    4.8.3.3概要分析368
    4.8.4“私有屬性”提案的設計與提議368
    4.8.4.1語法設計368
    4.8.4.2語法與語義的關繫371
    4.8.5“私有屬性”提案的實現373
    4.8.5.1核心的實現邏輯373
    4.8.5.2一個簡短的回顧374
    4.8.5.3保護屬性的實現375
    4.8.5.4可見性的管理(unscopables)376
    4.8.5.5避免侵入(thisValue)377
    4.8.5.6內部訪問(internal)378
    4.8.5.7概要分析380
    第5章JavaScript的函數式語言特性381
    5.1概述381
    5.1.1從代碼風格說起382
    5.1.2為什麼常見的語言不贊同連續求值383
    5.1.3函數式語言的淵源384
    5.2從運算式語言到函數式語言386
    5.2.1JavaScript中的幾種連續運算386
    5.2.1.1連續賦值386
    5.2.1表達式的連用387
    5.2.1.3連續邏輯運算388
    5.2.1.4逗號運算符與連續運算389
    5.2.1.5解構賦值389
    5.2.1.6函數與方法的調用390
    5.2.2如何消滅語句391
    5.2.2.1通過表達式消滅分支語句391
    5.2.2.2通過函數遞歸消滅循環語句393
    5.2.2.3其他可以被消滅的語句394
    5.2.3運算式語言394
    5.2.3.1運算的實質是值運算394
    5.2.3.2運算式語言的應用396
    5.2.4重新認識函數397
    5.2.4.1函數是對運算式語言的補充398
    5.2.4.2函數是代碼的組織形式398
    5.2.4.3當運算符等義於某個函數時399
    5.2.5函數式語言401
    5.2.5.1“函數”===“Lambda”402
    5.2.5.2函數是操作數402
    5.2.5.3在函數內保存數據403
    5.2.5.4函數內的運算對函數外無副作用404
    5.2.5.5函數式的特性集405
    5.3JavaScript中的函數405
    5.3.1參數405
    5.3.1.1可變參數406
    5.3.1.2默認參數408
    5.3.1.3剩餘參數409
    5.3.1.4模板參數410
    5.3.1.5參數對像411
    5.3.1.6非簡單參數413
    5.3.1.7非惰性求值414
    5.3.1.8傳值參數416
    5.3.2函數418
    5.3.2.1一般函數419
    5.3.2.2生成器函數421
    5.3.2.3類423
    5.3.2.4方法425
    5.3.2.5箭頭函數426
    5.3.2.6綁定函數427
    5.3.2.7代理函數431
    5.3.3函數的數據性質431
    5.3.3.1函數是第一型432
    5.3.3.2數據態的函數433
    5.3.3.3類與對像態的函數434
    5.3.3.4代理態的函數438
    5.3.4函數與邏輯結構439
    5.3.4.1遞歸439
    5.3.4.2函數作為構造器的遞歸441
    5.3.4.3塊級作用域中的函數442
    5.4函數的行為443
    5.4.1構造444
    5.4.1.1this引用的創建444
    5.4.1.2初始化this對像446
    5.4.2調用448
    5.4.2.1不使用函數調用運算符449
    5.4.2.2callee:我是誰452
    5.4.2.3caller:誰調用我453
    5.4.3方法調用455
    5.4.3.1屬性存取與this引用的傳入.456
    5.4.3.2this引用的使用457
    5.4.3.3在方法調用中理解super458
    5.4.3.4動態地添加方法459
    5.4.4迭代461
    5.4.4.1可迭代對像與迭代461
    5.4.4.2可迭代對像在語法層面的支持462
    5.4.4.3迭代器的錯誤與異常處理464
    5.4.5生成器中的迭代466
    5.4.5.1生成器對像466
    5.4.5.2生成器的錯誤與異常處理469
    5.4.5.3方法throw()的隱式調用472
    5.4.5.4向生成器中傳入的數據474
    5.5閉包475
    5.5.1閉包與函數實例476
    5.5.1.1閉包與非閉包476
    5.5.1.2什麼是函數實例477
    5.5.1.3看到閉包478
    5.5.1.4閉包的數量479
    5.5.2閉包的使用481
    5.5.2.1運行期的閉包482
    5.5.2.2閉包中的可訪問標識符483
    5.5.2.3用戶代碼導致的閉包變化484
    5.5.2.4函數表達式的特殊性485
    5.5.2.5嚴格模式下的閉包486
    5.5.3與閉包類似的實例化環境487
    5.5.3.1全局環境487
    5.5.3.2模塊環境490
    5.5.3.3對像閉包491
    5.5.3.4塊492
    5.5.3.5循環語句的特殊性493
    5.5.3.6函數閉包與對像閉包的混用495
    5.5.4與閉包相關的一些特性496
    5.5.4.1變量維護規則496
    5.5.4.2引用與洩露497
    5.5.4.3語句或語句塊中的閉包問題499
    5.5.4.4閉包中的標識符(變量)特例502
    5.5.4.5函數對像的閉包及其效果504
    第6章JavaScript的動態語言特性506
    6.1概述506
    6.1.1動態數據類型的起源507
    6.1.2動態執行繫統507
    6.1.3腳本繫統的起源509
    6.1.4腳本隻是表現形式510
    6.2動態類型:對像與值類型之間的轉換512
    6.2.1包裝類:面向對像的妥協512
    6.2.1.1顯式創建513
    6.2.1.2顯式包裝514
    6.2.1.3隱式包裝的過程與檢測方法514
    6.2.1.4包裝值類型數據的必要性與問題517
    6.2.1.5其他字面量與相應的構造器519
    6.2.1.6函數特例519
    6.2.2從對像到值520
    6.2.2.1對像到值的隱式轉換規則520
    6.2.2.2直接的值運算不受包裝類的方法影響.522
    6.2.2.3什麼是“轉換的預期”524
    6.2.2.4深入探究valueOf()方法525
    6.2.2.5布爾運算的特例527
    6.2.2.6符號Symbol.toPrimitive的效果528
    6.2.3顯式的轉換529
    6.2.3.1顯式轉換的語法含義530
    6.2.3.2對“轉換預期”的顯式表示531
    6.2.3.3關於符號值的補充說明531
    6.3動態類型:值類型的轉換532
    6.3.1值運算:類型轉換的基礎532
    6.3.1.1完整過程:運算導致的類型轉換533
    6.3.1.2語句或語義導致的類型轉換535
    6.3.2值類型之間的轉換535
    6.3.2.1undefined的轉換536
    6.3.2.2number的轉換537
    6.3.2.3boolean的轉換537
    6.3.2.4string的轉換538
    6.3.2.5symbol的轉換539
    6.3.3值類型之間的顯式轉換540
    6.3.3.1到數值的顯式轉換540
    6.3.3.2到字符串類型的顯式轉換541
    6.3.3.3到undefined值的顯式處理544
    6.3.3.4到布爾值的顯式處理544
    6.4動態類型:對像與數組的動態特性545
    6.4.1關聯數組與索引數組545
    6.4.2索引數組作為對像的問題546
    6.4.2.1索引數組更加低效547
    6.4.2.2屬性length的可寫性549
    6.4.2.3類型化數組的一些性質550
    6.4.3類數組對像:對像作為索引數組的應用552
    6.4.4其他554
    6.5重寫555
    6.5.1標識符的重寫及其555
    6.5.1.1早於用戶代碼之前的聲明與重寫556
    6.5.1.2聲明對標識符可寫性的影響559
    6.5.1.3賦值操作帶來的重寫560
    6.5.1.4對像內部方法對重寫的影響563
    6.5.1.5非賦值操作帶來的重寫564
    6.5.1.6條件化聲明中的重寫565
    6.5.1.7運算優先級與引用的暫存566
    6.5.2原型重寫567
    6.5.3構造器重寫569
    6.5.3.1重寫Object()569
    6.5.3.2使用類聲明來重寫571
    6.5.3.3繼承關繫的丟失572
    6.5.4對像成員的重寫573
    6.5.4.1成員重寫的檢測574
    6.5.4.2成員重寫的刪除575
    6.5.4.3成員重寫對作用域的影響576
    6.5.5引擎對重寫的578
    6.5.5.1this與super等關鍵字的重寫579
    6.5.5.2語句中的重寫580
    6.5.5.3結構化異常處理中的重寫580
    6.6動態執行582
    6.6.1eval()作為函數名的特殊性582
    6.6.2eval()在不同上下文環境中的效果584
    6.6.2.1eval使用全局環境584
    6.6.2.2eval使用對像閉包或模塊環境585
    6.6.2.3eval()使用當前函數的閉包585
    6.6.3Eval環境的獨特性586
    6.6.3.1默認繼承當前環境的運行模式587
    6.6.3.2例外:obj.eval()的特殊性588
    6.6.3.3執行代碼可以自行決定運行模式589
    6.6.3.4聲明實例化過程與其他可執行結構不同591
    6.6.3.5環境的回收592
    6.6.4動態執行過程中的語句、表達式與值593
    6.6.5序列化與反序列化595
    6.6.5.1在對像與函數上的596
    6.6.5.2對像深度與循環引用597
    6.6.5.3不太現實的替代品599
    6.6.6eval對作用域的影響600
    6.6.7其他的動態執行邏輯601
    6.6.7.1動態創建的函數601
    6.6.7.2模板與動態執行603
    6.6.7.3宿主的動態執行邏輯604
    6.7動態方法調用(call、apply與bind)605
    6.7.1動態方法調用以及this引用的管理605
    6.7.2丟失的this引用608
    6.7.3bind()方法與函數的延遲調用610
    6.7.4棧的可見與修改612
    6.7.5嚴格模式中的this綁定問題614
    6.8通用執行環境的實現615
    6.8.1通用DSL的模型616
    6.8.1.1概念設計616
    6.8.1.2被依賴的基礎功能616
    6.8.1.3一個基本實現619
    6.8.1.4應用示例621
    6.8.1.5其他623
    6.8.2實現ECMAScript引擎624
    6.8.2.1簡單入手624
    6.8.2.2引擎中的環境625
    6.8.2.3對用戶代碼的語法分析628
    6.8.2.4執行前的準備工作630
    6.8.2.5從語法樹節點開始執行631
    6.8.2.6數據的交換633
    6.8.2.7上下文的使用與管理634
    6.8.3與DSL的概念整合635
    第7章JavaScript的並行語言特性638
    7.1概述638
    7.1.1並行計算的思想638
    7.1.1.1並行計算範型的抽像639
    7.1.1.2分布與並行邏輯639
    7.1.1.3並發的討論背景640
    7.1.1.4分支也可以不是時序邏輯641
    7.1.2並行程序設計的歷史642
    7.1.2.1從“支持並行”到並行程序語言643
    7.1.2.2用並發思想處理數據的語言643
    7.1.2.3多數傳統程序設計語言是“偽並行”的644
    7.1.2.4真正的並行:在語言層面無視時間644
    7.1.3並行語言特性在JavaScript中的歷史645
    7.2Promise的核心機制647
    7.2.1Promise的核心過程647
    7.2.1.1Promise的構造方法647
    7.2.1.2需要清楚的事實:沒有延時648
    7.2.1.3Then鏈649
    7.2.1.4Then鏈中promise2的置值邏輯650
    7.2.1.5Then鏈對值的傳遞以及.catch()處理652
    7.2.2Promise類與對像的基本應用654
    7.2.2.1Promise的其他類方法654
    7.2.2.2Promise.resolve()處理thenable對像的具體方法656
    7.2.2.3promise對像的其他原型方法658
    7.2.2.4未捕獲異常的promise的檢測660
    7.2.2.5特例:將響應函數置為非函數662
    7.2.3Promise的子類663
    7.2.3.1由Promise()派生的子類663
    7.2.3.2thenable對像或其子類664
    7.2.4執行邏輯666
    7.2.4.1任務隊列666
    7.2.4.2執行棧667
    7.3與其他語言特性的交集668
    7.3.1與函數式特性的交集:異步的函數669
    7.3.1.1異步函數的引入669
    7.3.1.2異步函數的值670
    7.3.1.3異步函數中的await671
    7.3.1.4異步生成器函數673
    7.3.1.5異步生成器函數中的await674
    7.3.1.6異步生成器函數與forawait.of語句676
    7.3.2與動態特性的交集677
    7.3.2.1await在語義上的特點.677
    7.3.2.2resolve行為與類型模糊678
    7.3.2.3then方法的動態綁定679
    7.3.2.4通過接口識別的類型(thenable)680
    7.3.2.5通過動態創建函數來驅動異步特性682
    7.3.3對結構化特性帶來的衝擊683
    7.3.3.1對執行邏輯的再造683
    7.3.3.2遲來的finally.684
    7.3.3.3newFunction()風格的異步函數創建686
    7.3.3.4異步方法與存取器687
    7.4JavaScript中對並發的支持690
    7.4.1Agent、AgentCluster及其工作機制691
    7.4.1.1工作線程及其環境691
    7.4.1.2線程及其調度692
    7.4.1.3與誰協商693
    7.4.1.4多線程的可計算環境694
    7.4.1.5通過消息通信完成協商695
    7.4.2SharedArrayBuffer698
    7.4.3Atomics701
    7.4.3.1鎖701
    7.4.3.2置值:鎖的狀態切換704
    7.4.3.3其他原子操作705
    7.4.3.4原子操作中的異常與鎖的釋放705
    7.5在分布式網絡環境中的並行執行706
    7.5.1分布式並行架構的實踐707
    7.5.1.1N4C的背景707
    7.5.1.2N4C的架構設計707
    7.5.1.3N4C架構的實現708
    7.5.2構建一個集群環境709
    7.5.2.1N4C集群與資源中心的基本結構709
    7.5.2.2啟動集群711
    7.5.2.3在集群中創建任務中心712
    7.5.2.4將計算節點加入集群713
    7.5.3使用PEDT執行並行任務713
    7.5.3.1本地任務、遠程任務與並行任務714
    7.5.3.2使用PEDT來管理並行任務714
    7.5.3.3任務的執行715
    7.5.3.4並行的方法716
    7.5.4可參考的意義718
    附錄A術語表719
    附錄B參考書目723
    附錄C圖表索引725
    附錄D本書各版次主要修改731
    內容簡介
    JavaScript是一門包含多種語言特性的混合範型語言,在面向對像和函數式語言特性方面表現尤為突出,且在ES6之後所添加的並行語言特性也極為出色。本書基於ES6,並涵蓋近期新的ES2019規範,全面講述JavaScript在五個方面的語言特性,以及將這些特性融會如一的方法。本書不但完整解析了JavaScript語言,還逐一剖析了相關特性在多個開源項目中的編程實踐與應用,是難得的語言學習參考書。本書作者在前端開發領域經驗豐富、深耕不輟,一書三版,歷經十餘年。書中對JavaScript語言的理解與展望,尤其適合期望精通這門語言的中高級程序員和語言實踐者閱讀。



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部