版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
JavaScript語言精髓與編程實(shí)踐(第3版)注:原文檔電子版(非掃描),需要的請下載本文檔后留言謝謝。目錄\h第1章二十年來的JavaScript\h1.1網(wǎng)頁中的代碼\h1.1.1新鮮的玩意兒\h1.1.2寫在網(wǎng)頁中的第一段代碼\h1.1.3最初的價(jià)值\h1.2用JavaScript來寫瀏覽器上的應(yīng)用\h1.2.1我要做一個(gè)聊天室\h1.2.2Flash的一席之地\h1.2.3RWC與RIA之爭\h1.3沒有框架與庫的語言能怎樣發(fā)展呢\h1.3.1做一個(gè)框架\h1.3.2重寫框架的語言層\h1.3.3富瀏覽器端開發(fā)(RWC)與AJAX\h1.4語言的進(jìn)化\h1.4.1Qomo的重生\h1.4.2QoBean是對語言的重新組織\h1.4.3JavaScript作為一門語言的進(jìn)化\h1.5大型系統(tǒng)開發(fā)\h1.5.1框架與架構(gòu)是不同的\h1.5.2大型系統(tǒng)與分布式的環(huán)境\h1.5.3劃時(shí)代的ES6\h1.6為JavaScript正名\h1.6.1JavaScript\h1.6.1.1CoreJavaScript\h1.6.1.2SpiderMonkeyJavaScript\h1.6.1.3JScript\h1.6.2ECMAScript\h1.7JavaScript的應(yīng)用環(huán)境\h1.7.1宿主環(huán)境\h1.7.2外殼程序\h1.7.3運(yùn)行期環(huán)境\h1.7.4兼容環(huán)境下的測試\h第2章JavaScript的語法\h2.1語法綜述\h2.1.1標(biāo)識符所綁定的語義\h2.1.2識別語法錯(cuò)誤與運(yùn)行錯(cuò)誤\h2.2JavaScript的語法:聲明\h2.2.1變量的數(shù)據(jù)類型\h2.2.1.1基本數(shù)據(jù)類型\h2.2.1.2宿主定義的其他對象類型\h2.2.1.3值類型與引用類型\h2.2.1.4討論:ECMAScript的類型系統(tǒng)\h2.2.2變量聲明\h2.2.2.1塊級作用域的變量聲明與一般var聲明\h2.2.2.2用賦值模板聲明一批變量\h2.2.3使用字面量風(fēng)格的值\h2.2.3.1字符串字面量、轉(zhuǎn)義符\h2.2.3.2模板字面量\h2.2.3.3數(shù)值字面量\h2.2.4其他聲明\h2.2.4.1常量聲明\h2.2.4.2符號聲明\h2.2.4.3函數(shù)聲明\h2.3JavaScript的語法:表達(dá)式運(yùn)算\h2.3.1一般表達(dá)式運(yùn)算\h2.3.1.1邏輯運(yùn)算\h2.3.1.2字符串運(yùn)算\h2.3.1.3數(shù)值運(yùn)算\h2.3.2比較運(yùn)算\h2.3.2.1等值檢測\h2.3.2.2序列檢測\h2.3.3賦值運(yùn)算\h2.3.3.1賦值的語義\h2.3.3.2復(fù)合賦值運(yùn)算符\h2.3.3.3解構(gòu)賦值\h2.3.4函數(shù)相關(guān)的表達(dá)式\h2.3.4.1匿名函數(shù)與箭頭函數(shù)\h2.3.4.2函數(shù)調(diào)用\h2.3.4.3new運(yùn)算\h2.3.5特殊作用的運(yùn)算符\h2.3.5.1類型運(yùn)算符(typeof)\h2.3.5.2展開語法(spreadsyntax)\h2.3.5.3面向表達(dá)式的運(yùn)算符\h2.3.6運(yùn)算優(yōu)先級\h2.4JavaScript的語法:語句\h2.4.1表達(dá)式語句\h2.4.1.1一般表達(dá)式語句\h2.4.1.2賦值語句與隱式的變量聲明\h2.4.1.3函數(shù)調(diào)用語句\h2.4.2變量聲明語句\h2.4.3分支語句\h2.4.3.1條件分支語句(if語句)\h2.4.3.2多重分支語句(switch語句)\h2.4.4循環(huán)語句\h2.4.5流程控制:一般子句\h2.4.5.1標(biāo)簽聲明\h2.4.5.2break子句\h2.4.5.3continue子句\h2.4.5.4return子句\h2.4.6流程控制:異常\h2.5JavaScript的語法:模塊\h2.5.1模塊的聲明與加載\h2.5.1.1加載模塊\h2.5.1.2聲明模塊\h2.5.2名字空間的特殊性\h2.5.2.1名字空間的創(chuàng)建者\(yùn)h2.5.2.2名字空間中的名字是屬性名\h2.5.2.3使用上的一些特殊性\h2.6嚴(yán)格模式下的語法限制\h2.6.1語法限制\h2.6.2執(zhí)行限制\h2.6.3嚴(yán)格模式的范圍\h2.6.3.1有限范圍下的嚴(yán)格模式\h2.6.3.2非嚴(yán)格模式的全局環(huán)境\h2.7運(yùn)算符的二義性\h2.7.1加號“+”的二義性\h2.7.2括號“()”的二義性\h2.7.3冒號“:”與標(biāo)簽的二義性\h2.7.4大括號“{}”的二義性\h2.7.4.1復(fù)合語句/語句塊\h2.7.4.2聲明對象字面量\h2.7.4.3函數(shù)聲明\h2.7.4.4結(jié)構(gòu)化異常\h2.7.4.5模板中的變量引用\h2.7.4.6解構(gòu)賦值\h2.7.5逗號“,”的二義性\h2.7.6方括號“[]”的二義性\h2.7.7語法設(shè)計(jì)中對二義性的處理\h第3章JavaScript的面向?qū)ο笳Z言特性\h3.1面向?qū)ο缶幊痰恼Z法概要\h3.1.1對象聲明與實(shí)例創(chuàng)建\h3.1.1.1使用構(gòu)造器創(chuàng)建對象實(shí)例\h3.1.1.2聲明對象字面量\h3.1.1.3數(shù)組及其字面量\h3.1.1.4正則表達(dá)式及其字面量\h3.1.1.5在對象聲明中使用屬性存取器\h3.1.2使用類繼承體系\h3.1.2.1聲明類和繼承關(guān)系\h3.1.2.2聲明屬性\h3.1.2.3調(diào)用父類構(gòu)造方法\h3.1.2.4調(diào)用父類方法\h3.1.2.5類成員(類靜態(tài)成員)\h3.1.3對象成員\h3.1.3.1成員的列舉,以及可列舉性\h3.1.3.2對象及其成員的檢查\h3.1.3.3值的存取\h3.1.3.4成員的刪除\h3.1.3.5方法的調(diào)用\h3.1.4使用對象自身\h3.1.4.1與基礎(chǔ)類型數(shù)據(jù)之間的運(yùn)算\h3.1.4.2默認(rèn)對象的指定\h3.1.5符號\h3.1.5.1列舉符號屬性\h3.1.5.2改變對象內(nèi)部行為\h3.1.5.3全局符號表\h3.2JavaScript的原型繼承\(zhòng)h3.2.1空(null)與空白對象(empty)\h3.2.1.1空白對象是所有對象的基礎(chǔ)\h3.2.1.2構(gòu)造復(fù)制?寫時(shí)復(fù)制?還是讀遍歷?\h3.2.1.3構(gòu)造過程:從函數(shù)到構(gòu)造器\h3.2.1.4內(nèi)置屬性與方法\h3.2.1.5原型為null:“更加空白”的對象\h3.2.2原型鏈的維護(hù)\h3.2.2.1外部原型鏈與constructor屬性\h3.2.2.2使用內(nèi)部原型鏈\h3.2.3原型繼承的實(shí)質(zhì)\h3.2.3.1簡單模型\h3.2.3.2基于原型繼承的設(shè)計(jì)方法\h3.2.3.3如何理解“繼承來的成員”\h3.3JavaScript的類繼承\(zhòng)h3.3.1類是靜態(tài)的聲明\h3.3.2super是全新的語法元素\h3.3.2.1super的作用\h3.3.2.2super指向什么\h3.3.2.3super對一般屬性的意義\h3.3.2.4super在兩種繼承關(guān)系中的矛盾\h3.3.2.5super的動(dòng)態(tài)計(jì)算過程\h3.3.3類是用構(gòu)造器(函數(shù))來實(shí)現(xiàn)的\h3.3.4父類的默認(rèn)值與null值\h3.4JavaScript的對象系統(tǒng)\h3.4.1封裝與多態(tài)\h3.4.1.1封裝\h3.4.1.2多態(tài)\h3.4.1.3多態(tài)與方法繼承\(zhòng)h3.4.2屬性\h3.4.2.1方法\h3.4.2.2事件\h3.4.3構(gòu)造對象系統(tǒng)的方法\h3.4.3.1類抄寫\h3.4.3.2原型繼承\(zhòng)h3.4.3.3類繼承\(zhòng)h3.4.3.4直接創(chuàng)建對象\h3.4.3.5如何選擇繼承的方式\h3.4.4內(nèi)置的對象系統(tǒng)\h3.4.4.1早期規(guī)范(ES5之前)中的對象\h3.4.4.2集合對象\h3.4.4.3結(jié)構(gòu)化數(shù)據(jù)對象\h3.4.4.4反射對象\h3.4.4.5其他\h3.4.5特殊效果的繼承\(zhòng)h3.5可定制的對象屬性\h3.5.1屬性描述符\h3.5.1.1數(shù)據(jù)描述符\h3.5.1.2存取描述符\h3.5.1.3隱式創(chuàng)建的描述符:字面量風(fēng)格的對象或類聲明\h3.5.2定制對象屬性\h3.5.2.1給屬性賦值\h3.5.2.2使用屬性描述符\h3.5.2.3取屬性或?qū)傩粤斜韁h3.5.3屬性表的狀態(tài)\h3.6運(yùn)行期侵入與元編程系統(tǒng)\h3.6.1關(guān)于運(yùn)行期侵入\h3.6.1.1運(yùn)行期侵入的核心機(jī)制\h3.6.1.2可被符號影響的行為\h3.6.1.3內(nèi)部方法與反射機(jī)制\h3.6.1.4侵入原型\h3.6.2類類型與元類繼承\(zhòng)h3.6.2.1原子\h3.6.2.2元與元類\h3.6.2.3類類型系統(tǒng)\h3.6.2.4類類型的檢查\h3.6.2.5類類型的聲明以及擴(kuò)展特性\h3.6.3元編程模型\h第4章JavaScript語言的結(jié)構(gòu)化\h4.1概述\h4.1.1命令式語言\h4.1.1.1存儲(chǔ)與數(shù)據(jù)結(jié)構(gòu)\h4.1.1.2結(jié)構(gòu)化編程\h4.1.1.3結(jié)構(gòu)化的疑難\h4.1.2面向?qū)ο笳Z言\h4.1.2.1結(jié)構(gòu)化的延伸\h4.1.2.2更高層次的抽象:接口\h4.1.2.3面向接口的編程方法\h4.1.3再論語言的分類\h4.1.3.1對語言范型的簡化\h4.1.3.2結(jié)構(gòu)化的性質(zhì)\h4.1.4JavaScript的語源\h4.2基本的組織元素\h4.2.1標(biāo)識符\h4.2.2表達(dá)式\h4.2.2.1字面量\h4.2.2.2初始器\h4.2.3語句\h4.2.4模塊\h4.2.5組織的原則\h4.2.5.1原則一:抑制數(shù)據(jù)的可變性\h4.2.5.2原則二:最小邏輯和最大復(fù)用\h4.2.5.3原則三:語法在形式上的清晰與語義一致性\h4.3聲明\h4.3.1聲明名字\h4.3.2確定性\h4.3.3頂層聲明\h4.4語句與代碼分塊\h4.4.1塊\h4.4.1.1簡單語句\h4.4.1.2單值表達(dá)式\h4.4.2塊與語句的語法結(jié)構(gòu)\h4.4.2.1語義上的代碼分塊\h4.4.2.2分支邏輯中的代碼分塊\h4.4.2.3多重分支邏輯中的代碼分塊\h4.4.2.4循環(huán)邏輯中的代碼分塊\h4.4.2.5異常中的代碼分塊\h4.4.3塊與聲明語句\h4.4.3.1只能在塊中進(jìn)行數(shù)據(jù)聲明\h4.4.3.2能同時(shí)聲明塊的聲明語句\h4.4.3.3聲明語句與塊的組織\h4.4.4塊與語句的值\h4.4.4.1語句的執(zhí)行狀態(tài)\h4.4.4.2語句無值\h4.4.4.3語句有值\h4.4.5標(biāo)簽化語句與塊\h4.5組織形式分塊的方法\h4.5.1詞法作用域\h4.5.1.1不存在“級別1:表達(dá)式”\h4.5.1.2級別2:語句\h4.5.1.3級別3:函數(shù)\h4.5.1.4級別4:模塊\h4.5.1.5級別5:全局\h4.5.2執(zhí)行流程及其變更\h4.5.2.1級別1:可能的逃逸\h4.5.2.2級別2:“break<label>;”等語法\h4.5.2.3級別3:return子句\h4.5.2.4級別4:動(dòng)態(tài)模塊與Promise中的流程控制\h4.5.2.5級別5:throw語句\h4.5.3詞法作用域之間的相關(guān)性\h4.5.4執(zhí)行流程變更的內(nèi)涵\h4.6層次結(jié)構(gòu)程序設(shè)計(jì)\h4.6.1屬性的可見性\h4.6.1.1屬性在繼承層次間的可見性\h4.6.1.2屬性在繼承樹(子樹)間的可見性\h4.6.2多態(tài)的邏輯\h4.6.2.1super是對多態(tài)邏輯的綁定\h4.6.2.2super是一個(gè)作用域相關(guān)的綁定\h4.6.3私有作用域的提出\h4.7歷史遺產(chǎn):變量作用域\h4.7.1變量作用域\h4.7.1.1級別3:函數(shù)(局部變量)\h4.7.1.2級別4:模塊\h4.7.1.3級別5:全局變量\h4.7.2變量的特殊性與變量作用域的關(guān)系\h4.7.2.1變量提升\h4.7.2.2變量動(dòng)態(tài)聲明\h4.7.2.3變量隱式聲明(全局屬性)\h4.8私有屬性與私有字段的紛爭\h4.8.1私有屬性的提出\h4.8.1.1對象字面量中的作用域問題\h4.8.1.2類聲明中的作用域問題\h4.8.1.3識別“對象自己(訪問)”\h4.8.1.4識別“對象訪問(自己)”\h4.8.2從私有屬性到私有成員\h4.8.2.1私有屬性與私有字段\h4.8.2.2私有字段與私有變量\h4.8.2.3再論私有成員\h4.8.3“類字段”提案的實(shí)現(xiàn)概要\h4.8.3.1語法設(shè)計(jì)\h4.8.3.2實(shí)現(xiàn)框架\h4.8.3.3概要分析\h4.8.4“私有屬性”提案的設(shè)計(jì)與提議\h4.8.4.1語法設(shè)計(jì)\h4.8.4.2語法與語義的關(guān)系\h4.8.5“私有屬性”提案的實(shí)現(xiàn)\h4.8.5.1核心的實(shí)現(xiàn)邏輯\h4.8.5.2一個(gè)簡短的回顧\h4.8.5.3保護(hù)屬性的實(shí)現(xiàn)\h4.8.5.4可見性的管理(unscopables)\h4.8.5.5避免侵入(thisValue)\h4.8.5.6內(nèi)部訪問(internal)\h4.8.5.7概要分析\h第5章JavaScript的函數(shù)式語言特性\h5.1概述\h5.1.1從代碼風(fēng)格說起\h5.1.2為什么常見的語言不贊同連續(xù)求值\h5.1.3函數(shù)式語言的淵源\h5.2從運(yùn)算式語言到函數(shù)式語言\h5.2.1JavaScript中的幾種連續(xù)運(yùn)算\h5.2.1.1連續(xù)賦值\h5.2.1.2三元表達(dá)式的連用\h5.2.1.3連續(xù)邏輯運(yùn)算\h5.2.1.4逗號運(yùn)算符與連續(xù)運(yùn)算\h5.2.1.5解構(gòu)賦值\h5.2.1.6函數(shù)與方法的調(diào)用\h5.2.2如何消滅語句\h5.2.2.1通過表達(dá)式消滅分支語句\h5.2.2.2通過函數(shù)遞歸消滅循環(huán)語句\h5.2.2.3其他可以被消滅的語句\h5.2.3運(yùn)算式語言\h5.2.3.1運(yùn)算的實(shí)質(zhì)是值運(yùn)算\h5.2.3.2運(yùn)算式語言的應(yīng)用\h5.2.4重新認(rèn)識函數(shù)\h5.2.4.1函數(shù)是對運(yùn)算式語言的補(bǔ)充\h5.2.4.2函數(shù)是代碼的組織形式\h5.2.4.3當(dāng)運(yùn)算符等義于某個(gè)函數(shù)時(shí)\h5.2.5函數(shù)式語言\h5.2.5.1“函數(shù)”===“Lambda”\h5.2.5.2函數(shù)是操作數(shù)\h5.2.5.3在函數(shù)內(nèi)保存數(shù)據(jù)\h5.2.5.4函數(shù)內(nèi)的運(yùn)算對函數(shù)外無副作用\h5.2.5.5函數(shù)式的特性集\h5.3JavaScript中的函數(shù)\h5.3.1參數(shù)\h5.3.1.1可變參數(shù)\h5.3.1.2默認(rèn)參數(shù)\h5.3.1.3剩余參數(shù)\h5.3.1.4模板參數(shù)\h5.3.1.5參數(shù)對象\h5.3.1.6非簡單參數(shù)\h5.3.1.7非惰性求值\h5.3.1.8傳值參數(shù)\h5.3.2函數(shù)\h5.3.2.1一般函數(shù)\h5.3.2.2生成器函數(shù)\h5.3.2.3類\h5.3.2.4方法\h5.3.2.5箭頭函數(shù)\h5.3.2.6綁定函數(shù)\h5.3.2.7代理函數(shù)\h5.3.3函數(shù)的數(shù)據(jù)性質(zhì)\h5.3.3.1函數(shù)是第一型\h5.3.3.2數(shù)據(jù)態(tài)的函數(shù)\h5.3.3.3類與對象態(tài)的函數(shù)\h5.3.3.4代理態(tài)的函數(shù)\h5.3.4函數(shù)與邏輯結(jié)構(gòu)\h5.3.4.1遞歸\h5.3.4.2函數(shù)作為構(gòu)造器的遞歸\h5.3.4.3塊級作用域中的函數(shù)\h5.4函數(shù)的行為\h5.4.1構(gòu)造\h5.4.1.1this引用的創(chuàng)建\h5.4.1.2初始化this對象\h5.4.2調(diào)用\h5.4.2.1不使用函數(shù)調(diào)用運(yùn)算符\h5.4.2.2callee:我是誰\h5.4.2.3caller:誰調(diào)用我\h5.4.3方法調(diào)用\h5.4.3.1屬性存取與this引用的傳入\h5.4.3.2this引用的使用\h5.4.3.3在方法調(diào)用中理解super\h5.4.3.4動(dòng)態(tài)地添加方法\h5.4.4迭代\h5.4.4.1可迭代對象與迭代\h5.4.4.2可迭代對象在語法層面的支持\h5.4.4.3迭代器的錯(cuò)誤與異常處理\h5.4.5生成器中的迭代\h5.4.5.1生成器對象\h5.4.5.2生成器的錯(cuò)誤與異常處理\h5.4.5.3方法throw()的隱式調(diào)用\h5.4.5.4向生成器中傳入的數(shù)據(jù)\h5.5閉包\h5.5.1閉包與函數(shù)實(shí)例\h5.5.1.1閉包與非閉包\h5.5.1.2什么是函數(shù)實(shí)例\h5.5.1.3看到閉包\h5.5.1.4閉包的數(shù)量\h5.5.2閉包的使用\h5.5.2.1運(yùn)行期的閉包\h5.5.2.2閉包中的可訪問標(biāo)識符\h5.5.2.3用戶代碼導(dǎo)致的閉包變化\h5.5.2.4函數(shù)表達(dá)式的特殊性\h5.5.2.5嚴(yán)格模式下的閉包\h5.5.3與閉包類似的實(shí)例化環(huán)境\h5.5.3.1全局環(huán)境\h5.5.3.2模塊環(huán)境\h5.5.3.3對象閉包\h5.5.3.4塊\h5.5.3.5循環(huán)語句的特殊性\h5.5.3.6函數(shù)閉包與對象閉包的混用\h5.5.4與閉包相關(guān)的一些特性\h5.5.4.1變量維護(hù)規(guī)則\h5.5.4.2引用與泄露\h5.5.4.3語句或語句塊中的閉包問題\h5.5.4.4閉包中的標(biāo)識符(變量)特例\h5.5.4.5函數(shù)對象的閉包及其效果\h第6章JavaScript的動(dòng)態(tài)語言特性\h6.1概述\h6.1.1動(dòng)態(tài)數(shù)據(jù)類型的起源\h6.1.2動(dòng)態(tài)執(zhí)行系統(tǒng)\h6.1.3腳本系統(tǒng)的起源\h6.1.4腳本只是表現(xiàn)形式\h6.2動(dòng)態(tài)類型:對象與值類型之間的轉(zhuǎn)換\h6.2.1包裝類:面向?qū)ο蟮耐讌f(xié)\h6.2.1.1顯式創(chuàng)建\h6.2.1.2顯式包裝\h6.2.1.3隱式包裝的過程與檢測方法\h6.2.1.4包裝值類型數(shù)據(jù)的必要性與問題\h6.2.1.5其他字面量與相應(yīng)的構(gòu)造器\h6.2.1.6函數(shù)特例\h6.2.2從對象到值\h6.2.2.1對象到值的隱式轉(zhuǎn)換規(guī)則\h6.2.2.2直接的值運(yùn)算不受包裝類的方法影響\h6.2.2.3什么是“轉(zhuǎn)換的預(yù)期”\h6.2.2.4深入探究valueOf()方法\h6.2.2.5布爾運(yùn)算的特例\h6.2.2.6符號Symbol.toPrimitive的效果\h6.2.3顯式的轉(zhuǎn)換\h6.2.3.1顯式轉(zhuǎn)換的語法含義\h6.2.3.2對“轉(zhuǎn)換預(yù)期”的顯式表示\h6.2.3.3關(guān)于符號值的補(bǔ)充說明\h6.3動(dòng)態(tài)類型:值類型的轉(zhuǎn)換\h6.3.1值運(yùn)算:類型轉(zhuǎn)換的基礎(chǔ)\h6.3.1.1完整過程:運(yùn)算導(dǎo)致的類型轉(zhuǎn)換\h6.3.1.2語句或語義導(dǎo)致的類型轉(zhuǎn)換\h6.3.2值類型之間的轉(zhuǎn)換\h6.3.2.1undefined的轉(zhuǎn)換\h6.3.2.2number的轉(zhuǎn)換\h6.3.2.3boolean的轉(zhuǎn)換\h6.3.2.4string的轉(zhuǎn)換\h6.3.2.5symbol的轉(zhuǎn)換\h6.3.3值類型之間的顯式轉(zhuǎn)換\h6.3.3.1到數(shù)值的顯式轉(zhuǎn)換\h6.3.3.2到字符串類型的顯式轉(zhuǎn)換\h6.3.3.3到undefined值的顯式處理\h6.3.3.4到布爾值的顯式處理\h6.4動(dòng)態(tài)類型:對象與數(shù)組的動(dòng)態(tài)特性\h6.4.1關(guān)聯(lián)數(shù)組與索引數(shù)組\h6.4.2索引數(shù)組作為對象的問題\h6.4.2.1索引數(shù)組更加低效\h6.4.2.2屬性length的可寫性\h6.4.2.3類型化數(shù)組的一些性質(zhì)\h6.4.3類數(shù)組對象:對象作為索引數(shù)組的應(yīng)用\h6.4.4其他\h6.5重寫\h6.5.1標(biāo)識符的重寫及其限制\h6.5.1.1早于用戶代碼之前的聲明與重寫\h6.5.1.2聲明對標(biāo)識符可寫性的影響\h6.5.1.3賦值操作帶來的重寫\h6.5.1.4對象內(nèi)部方法對重寫的影響\h6.5.1.5非賦值操作帶來的重寫\h6.5.1.6條件化聲明中的重寫\h6.5.1.7運(yùn)算優(yōu)先級與引用的暫存\h6.5.2原型重寫\h6.5.3構(gòu)造器重寫\h6.5.3.1重寫Object()\h6.5.3.2使用類聲明來重寫\h6.5.3.3繼承關(guān)系的丟失\h6.5.4對象成員的重寫\h6.5.4.1成員重寫的檢測\h6.5.4.2成員重寫的刪除\h6.5.4.3成員重寫對作用域的影響\h6.5.5引擎對重寫的限制\h6.5.5.1this與super等關(guān)鍵字的重寫\h6.5.5.2語句中的重寫\h6.5.5.3結(jié)構(gòu)化異常處理中的重寫\h6.6動(dòng)態(tài)執(zhí)行\(zhòng)h6.6.1eval()作為函數(shù)名的特殊性\h6.6.2eval()在不同上下文環(huán)境中的效果\h6.6.2.1eval使用全局環(huán)境\h6.6.2.2eval使用對象閉包或模塊環(huán)境\h6.6.2.3eval()使用當(dāng)前函數(shù)的閉包\h6.6.3Eval環(huán)境的獨(dú)特性\h6.6.3.1默認(rèn)繼承當(dāng)前環(huán)境的運(yùn)行模式\h6.6.3.2例外:obj.eval()的特殊性\h6.6.3.3執(zhí)行代碼可以自行決定運(yùn)行模式\h6.6.3.4聲明實(shí)例化過程與其他可執(zhí)行結(jié)構(gòu)不同\h6.6.3.5環(huán)境的回收\h6.6.4動(dòng)態(tài)執(zhí)行過程中的語句、表達(dá)式與值\h6.6.5序列化與反序列化\h6.6.5.1在對象與函數(shù)上的限制\h6.6.5.2對象深度與循環(huán)引用\h6.6.5.3不太現(xiàn)實(shí)的替代品\h6.6.6eval對作用域的影響\h6.6.7其他的動(dòng)態(tài)執(zhí)行邏輯\h6.6.7.1動(dòng)態(tài)創(chuàng)建的函數(shù)\h6.6.7.2模板與動(dòng)態(tài)執(zhí)行\(zhòng)h6.6.7.3宿主的動(dòng)態(tài)執(zhí)行邏輯\h6.7動(dòng)態(tài)方法調(diào)用(call、apply與bind)\h6.7.1動(dòng)態(tài)方法調(diào)用以及this引用的管理\h6.7.2丟失的this引用\h6.7.3bind()方法與函數(shù)的延遲調(diào)用\h6.7.4棧的可見與修改\h6.7.5嚴(yán)格模式中的this綁定問題\h6.8通用執(zhí)行環(huán)境的實(shí)現(xiàn)\h6.8.1通用DSL的模型\h6.8.1.1概念設(shè)計(jì)\h6.8.1.2被依賴的基礎(chǔ)功能\h6.8.1.3一個(gè)基本實(shí)現(xiàn)\h6.8.1.4應(yīng)用示例\h6.8.1.5其他\h6.8.2實(shí)現(xiàn)ECMAScript引擎\h6.8.2.1簡單入手\h6.8.2.2引擎中的環(huán)境\h6.8.2.3對用戶代碼的語法分析\h6.8.2.4執(zhí)行前的準(zhǔn)備工作\h6.8.2.5從語法樹節(jié)點(diǎn)開始執(zhí)行\(zhòng)h6.8.2.6數(shù)據(jù)的交換\h6.8.2.7上下文的使用與管理\h6.8.3與DSL的概念整合\h第7章JavaScript的并行語言特性\h7.1概述\h7.1.1并行計(jì)算的思想\h7.1.1.1并行計(jì)算范型的抽象\h7.1.1.2分布與并行邏輯\h7.1.1.3并發(fā)的討論背景\h7.1.1.4分支也可以不是時(shí)序邏輯\h7.1.2并行程序設(shè)計(jì)的歷史\h7.1.2.1從“支持并行”到并行程序語言\h7.1.2.2用并發(fā)思想處理數(shù)據(jù)的語言\h7.1.2.3多數(shù)傳統(tǒng)程序設(shè)計(jì)語言是“偽并行”的\h7.1.2.4真正的并行:在語言層面無視時(shí)間\h7.1.3并行語言特性在JavaScript中的歷史\h7.2Promise的核心機(jī)制\h7.2.1Promise的核心過程\h7.2.1.1Promise的構(gòu)造方法\h7.2.1.2需要清楚的事實(shí):沒有延時(shí)\h7.2.1.3Then鏈\h7.2.1.4Then鏈中promise2的置值邏輯\h7.2.1.5Then鏈對值的傳遞以及.catch()處理\h7.2.2Promise類與對象的基本應(yīng)用\h7.2.2.1Promise的其他類方法\h7.2.2.2Promise.resolve()處理thenable對象的具體方法\h7.2.2.3prom
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度農(nóng)副食品國際貿(mào)易代理服務(wù)合同
- 2025年度內(nèi)墻粉刷與智能化管理系統(tǒng)分包合同
- 二零二五年度商業(yè)門面租賃爭議解決合同
- 二零二五年度庭院房產(chǎn)租賃合同解除與違約金合同
- 2025年度體育場館運(yùn)營管理公司健身教練合同
- 2025年度門面房租賃合同物聯(lián)網(wǎng)技術(shù)應(yīng)用協(xié)議4篇
- 課題申報(bào)參考:明代文人“引經(jīng)入戲”研究
- 認(rèn)識腧穴38課件講解
- 2025年度個(gè)人住宅室內(nèi)外綠化設(shè)計(jì)與施工合同2篇
- 2025版大型數(shù)據(jù)中心機(jī)房建設(shè)與運(yùn)維合同4篇
- 2025水利云播五大員考試題庫(含答案)
- 老年髖部骨折患者圍術(shù)期下肢深靜脈血栓基礎(chǔ)預(yù)防專家共識(2024版)解讀
- 中藥飲片驗(yàn)收培訓(xùn)
- 手術(shù)室??谱o(hù)士工作總結(jié)匯報(bào)
- DB34T 1831-2013 油菜收獲與秸稈粉碎機(jī)械化聯(lián)合作業(yè)技術(shù)規(guī)范
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 創(chuàng)傷處理理論知識考核試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》測試題+答案
- 殘疾軍人新退休政策
- 白酒代理合同范本
評論
0/150
提交評論