JavaScript語(yǔ)言精髓與編程實(shí)踐_第1頁(yè)
JavaScript語(yǔ)言精髓與編程實(shí)踐_第2頁(yè)
JavaScript語(yǔ)言精髓與編程實(shí)踐_第3頁(yè)
JavaScript語(yǔ)言精髓與編程實(shí)踐_第4頁(yè)
JavaScript語(yǔ)言精髓與編程實(shí)踐_第5頁(yè)
已閱讀5頁(yè),還剩644頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

JavaScript語(yǔ)言精髓與編程實(shí)踐(第3版)注:原文檔電子版(非掃描),需要的請(qǐng)下載本文檔后留言謝謝。目錄\h第1章二十年來(lái)的JavaScript\h1.1網(wǎng)頁(yè)中的代碼\h1.1.1新鮮的玩意兒\h1.1.2寫(xiě)在網(wǎng)頁(yè)中的第一段代碼\h1.1.3最初的價(jià)值\h1.2用JavaScript來(lái)寫(xiě)瀏覽器上的應(yīng)用\h1.2.1我要做一個(gè)聊天室\h1.2.2Flash的一席之地\h1.2.3RWC與RIA之爭(zhēng)\h1.3沒(méi)有框架與庫(kù)的語(yǔ)言能怎樣發(fā)展呢\h1.3.1做一個(gè)框架\h1.3.2重寫(xiě)框架的語(yǔ)言層\h1.3.3富瀏覽器端開(kāi)發(fā)(RWC)與AJAX\h1.4語(yǔ)言的進(jìn)化\h1.4.1Qomo的重生\h1.4.2QoBean是對(duì)語(yǔ)言的重新組織\h1.4.3JavaScript作為一門(mén)語(yǔ)言的進(jìn)化\h1.5大型系統(tǒng)開(kāi)發(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)境下的測(cè)試\h第2章JavaScript的語(yǔ)法\h2.1語(yǔ)法綜述\h2.1.1標(biāo)識(shí)符所綁定的語(yǔ)義\h2.1.2識(shí)別語(yǔ)法錯(cuò)誤與運(yùn)行錯(cuò)誤\h2.2JavaScript的語(yǔ)法:聲明\h2.2.1變量的數(shù)據(jù)類(lèi)型\h2.2.1.1基本數(shù)據(jù)類(lèi)型\h2.2.1.2宿主定義的其他對(duì)象類(lèi)型\h2.2.1.3值類(lèi)型與引用類(lèi)型\h2.2.1.4討論:ECMAScript的類(lèi)型系統(tǒng)\h2.2.2變量聲明\h2.2.2.1塊級(jí)作用域的變量聲明與一般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符號(hào)聲明\h2.2.4.3函數(shù)聲明\h2.3JavaScript的語(yǔ)法:表達(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等值檢測(cè)\h2.3.2.2序列檢測(cè)\h2.3.3賦值運(yùn)算\h2.3.3.1賦值的語(yǔ)義\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類(lèi)型運(yùn)算符(typeof)\h2.3.5.2展開(kāi)語(yǔ)法(spreadsyntax)\h2.3.5.3面向表達(dá)式的運(yùn)算符\h2.3.6運(yùn)算優(yōu)先級(jí)\h2.4JavaScript的語(yǔ)法:語(yǔ)句\h2.4.1表達(dá)式語(yǔ)句\h2.4.1.1一般表達(dá)式語(yǔ)句\h2.4.1.2賦值語(yǔ)句與隱式的變量聲明\h2.4.1.3函數(shù)調(diào)用語(yǔ)句\h2.4.2變量聲明語(yǔ)句\h2.4.3分支語(yǔ)句\h2.4.3.1條件分支語(yǔ)句(if語(yǔ)句)\h2.4.3.2多重分支語(yǔ)句(switch語(yǔ)句)\h2.4.4循環(huán)語(yǔ)句\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的語(yǔ)法:模塊\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)格模式下的語(yǔ)法限制\h2.6.1語(yǔ)法限制\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加號(hào)“+”的二義性\h2.7.2括號(hào)“()”的二義性\h2.7.3冒號(hào)“:”與標(biāo)簽的二義性\h2.7.4大括號(hào)“{}”的二義性\h2.7.4.1復(fù)合語(yǔ)句/語(yǔ)句塊\h2.7.4.2聲明對(duì)象字面量\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逗號(hào)“,”的二義性\h2.7.6方括號(hào)“[]”的二義性\h2.7.7語(yǔ)法設(shè)計(jì)中對(duì)二義性的處理\h第3章JavaScript的面向?qū)ο笳Z(yǔ)言特性\h3.1面向?qū)ο缶幊痰恼Z(yǔ)法概要\h3.1.1對(duì)象聲明與實(shí)例創(chuàng)建\h3.1.1.1使用構(gòu)造器創(chuàng)建對(duì)象實(shí)例\h3.1.1.2聲明對(duì)象字面量\h3.1.1.3數(shù)組及其字面量\h3.1.1.4正則表達(dá)式及其字面量\h3.1.1.5在對(duì)象聲明中使用屬性存取器\h3.1.2使用類(lèi)繼承體系\h3.1.2.1聲明類(lèi)和繼承關(guān)系\h3.1.2.2聲明屬性\h3.1.2.3調(diào)用父類(lèi)構(gòu)造方法\h3.1.2.4調(diào)用父類(lèi)方法\h3.1.2.5類(lèi)成員(類(lèi)靜態(tài)成員)\h3.1.3對(duì)象成員\h3.1.3.1成員的列舉,以及可列舉性\h3.1.3.2對(duì)象及其成員的檢查\h3.1.3.3值的存取\h3.1.3.4成員的刪除\h3.1.3.5方法的調(diào)用\h3.1.4使用對(duì)象自身\h3.1.4.1與基礎(chǔ)類(lèi)型數(shù)據(jù)之間的運(yùn)算\h3.1.4.2默認(rèn)對(duì)象的指定\h3.1.5符號(hào)\h3.1.5.1列舉符號(hào)屬性\h3.1.5.2改變對(duì)象內(nèi)部行為\h3.1.5.3全局符號(hào)表\h3.2JavaScript的原型繼承\(zhòng)h3.2.1空(null)與空白對(duì)象(empty)\h3.2.1.1空白對(duì)象是所有對(duì)象的基礎(chǔ)\h3.2.1.2構(gòu)造復(fù)制?寫(xiě)時(shí)復(fù)制?還是讀遍歷?\h3.2.1.3構(gòu)造過(guò)程:從函數(shù)到構(gòu)造器\h3.2.1.4內(nèi)置屬性與方法\h3.2.1.5原型為null:“更加空白”的對(duì)象\h3.2.2原型鏈的維護(hù)\h3.2.2.1外部原型鏈與constructor屬性\h3.2.2.2使用內(nèi)部原型鏈\h3.2.3原型繼承的實(shí)質(zhì)\h3.2.3.1簡(jiǎn)單模型\h3.2.3.2基于原型繼承的設(shè)計(jì)方法\h3.2.3.3如何理解“繼承來(lái)的成員”\h3.3JavaScript的類(lèi)繼承\(zhòng)h3.3.1類(lèi)是靜態(tài)的聲明\h3.3.2super是全新的語(yǔ)法元素\h3.3.2.1super的作用\h3.3.2.2super指向什么\h3.3.2.3super對(duì)一般屬性的意義\h3.3.2.4super在兩種繼承關(guān)系中的矛盾\h3.3.2.5super的動(dòng)態(tài)計(jì)算過(guò)程\h3.3.3類(lèi)是用構(gòu)造器(函數(shù))來(lái)實(shí)現(xiàn)的\h3.3.4父類(lèi)的默認(rèn)值與null值\h3.4JavaScript的對(duì)象系統(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)造對(duì)象系統(tǒng)的方法\h3.4.3.1類(lèi)抄寫(xiě)\h3.4.3.2原型繼承\(zhòng)h3.4.3.3類(lèi)繼承\(zhòng)h3.4.3.4直接創(chuàng)建對(duì)象\h3.4.3.5如何選擇繼承的方式\h3.4.4內(nèi)置的對(duì)象系統(tǒng)\h3.4.4.1早期規(guī)范(ES5之前)中的對(duì)象\h3.4.4.2集合對(duì)象\h3.4.4.3結(jié)構(gòu)化數(shù)據(jù)對(duì)象\h3.4.4.4反射對(duì)象\h3.4.4.5其他\h3.4.5特殊效果的繼承\(zhòng)h3.5可定制的對(duì)象屬性\h3.5.1屬性描述符\h3.5.1.1數(shù)據(jù)描述符\h3.5.1.2存取描述符\h3.5.1.3隱式創(chuàng)建的描述符:字面量風(fēng)格的對(duì)象或類(lèi)聲明\h3.5.2定制對(duì)象屬性\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可被符號(hào)影響的行為\h3.6.1.3內(nèi)部方法與反射機(jī)制\h3.6.1.4侵入原型\h3.6.2類(lèi)類(lèi)型與元類(lèi)繼承\(zhòng)h3.6.2.1原子\h3.6.2.2元與元類(lèi)\h3.6.2.3類(lèi)類(lèi)型系統(tǒng)\h3.6.2.4類(lèi)類(lèi)型的檢查\h3.6.2.5類(lèi)類(lèi)型的聲明以及擴(kuò)展特性\h3.6.3元編程模型\h第4章JavaScript語(yǔ)言的結(jié)構(gòu)化\h4.1概述\h4.1.1命令式語(yǔ)言\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(yǔ)言\h4.1.2.1結(jié)構(gòu)化的延伸\h4.1.2.2更高層次的抽象:接口\h4.1.2.3面向接口的編程方法\h4.1.3再論語(yǔ)言的分類(lèi)\h4.1.3.1對(duì)語(yǔ)言范型的簡(jiǎn)化\h4.1.3.2結(jié)構(gòu)化的性質(zhì)\h4.1.4JavaScript的語(yǔ)源\h4.2基本的組織元素\h4.2.1標(biāo)識(shí)符\h4.2.2表達(dá)式\h4.2.2.1字面量\h4.2.2.2初始器\h4.2.3語(yǔ)句\h4.2.4模塊\h4.2.5組織的原則\h4.2.5.1原則一:抑制數(shù)據(jù)的可變性\h4.2.5.2原則二:最小邏輯和最大復(fù)用\h4.2.5.3原則三:語(yǔ)法在形式上的清晰與語(yǔ)義一致性\h4.3聲明\h4.3.1聲明名字\h4.3.2確定性\h4.3.3頂層聲明\h4.4語(yǔ)句與代碼分塊\h4.4.1塊\h4.4.1.1簡(jiǎn)單語(yǔ)句\h4.4.1.2單值表達(dá)式\h4.4.2塊與語(yǔ)句的語(yǔ)法結(jié)構(gòu)\h4.4.2.1語(yǔ)義上的代碼分塊\h4.4.2.2分支邏輯中的代碼分塊\h4.4.2.3多重分支邏輯中的代碼分塊\h4.4.2.4循環(huán)邏輯中的代碼分塊\h4.4.2.5異常中的代碼分塊\h4.4.3塊與聲明語(yǔ)句\h4.4.3.1只能在塊中進(jìn)行數(shù)據(jù)聲明\h4.4.3.2能同時(shí)聲明塊的聲明語(yǔ)句\h4.4.3.3聲明語(yǔ)句與塊的組織\h4.4.4塊與語(yǔ)句的值\h4.4.4.1語(yǔ)句的執(zhí)行狀態(tài)\h4.4.4.2語(yǔ)句無(wú)值\h4.4.4.3語(yǔ)句有值\h4.4.5標(biāo)簽化語(yǔ)句與塊\h4.5組織形式分塊的方法\h4.5.1詞法作用域\h4.5.1.1不存在“級(jí)別1:表達(dá)式”\h4.5.1.2級(jí)別2:語(yǔ)句\h4.5.1.3級(jí)別3:函數(shù)\h4.5.1.4級(jí)別4:模塊\h4.5.1.5級(jí)別5:全局\h4.5.2執(zhí)行流程及其變更\h4.5.2.1級(jí)別1:可能的逃逸\h4.5.2.2級(jí)別2:“break<label>;”等語(yǔ)法\h4.5.2.3級(jí)別3:return子句\h4.5.2.4級(jí)別4:動(dòng)態(tài)模塊與Promise中的流程控制\h4.5.2.5級(jí)別5:throw語(yǔ)句\h4.5.3詞法作用域之間的相關(guān)性\h4.5.4執(zhí)行流程變更的內(nèi)涵\h4.6層次結(jié)構(gòu)程序設(shè)計(jì)\h4.6.1屬性的可見(jiàn)性\h4.6.1.1屬性在繼承層次間的可見(jiàn)性\h4.6.1.2屬性在繼承樹(shù)(子樹(shù))間的可見(jiàn)性\h4.6.2多態(tài)的邏輯\h4.6.2.1super是對(duì)多態(tài)邏輯的綁定\h4.6.2.2super是一個(gè)作用域相關(guān)的綁定\h4.6.3私有作用域的提出\h4.7歷史遺產(chǎn):變量作用域\h4.7.1變量作用域\h4.7.1.1級(jí)別3:函數(shù)(局部變量)\h4.7.1.2級(jí)別4:模塊\h4.7.1.3級(jí)別5:全局變量\h4.7.2變量的特殊性與變量作用域的關(guān)系\h4.7.2.1變量提升\h4.7.2.2變量動(dòng)態(tài)聲明\h4.7.2.3變量隱式聲明(全局屬性)\h4.8私有屬性與私有字段的紛爭(zhēng)\h4.8.1私有屬性的提出\h4.8.1.1對(duì)象字面量中的作用域問(wèn)題\h4.8.1.2類(lèi)聲明中的作用域問(wèn)題\h4.8.1.3識(shí)別“對(duì)象自己(訪(fǎng)問(wèn))”\h4.8.1.4識(shí)別“對(duì)象訪(fǎng)問(wèn)(自己)”\h4.8.2從私有屬性到私有成員\h4.8.2.1私有屬性與私有字段\h4.8.2.2私有字段與私有變量\h4.8.2.3再論私有成員\h4.8.3“類(lèi)字段”提案的實(shí)現(xiàn)概要\h4.8.3.1語(yǔ)法設(shè)計(jì)\h4.8.3.2實(shí)現(xiàn)框架\h4.8.3.3概要分析\h4.8.4“私有屬性”提案的設(shè)計(jì)與提議\h4.8.4.1語(yǔ)法設(shè)計(jì)\h4.8.4.2語(yǔ)法與語(yǔ)義的關(guān)系\h4.8.5“私有屬性”提案的實(shí)現(xiàn)\h4.8.5.1核心的實(shí)現(xiàn)邏輯\h4.8.5.2一個(gè)簡(jiǎn)短的回顧\h4.8.5.3保護(hù)屬性的實(shí)現(xiàn)\h4.8.5.4可見(jiàn)性的管理(unscopables)\h4.8.5.5避免侵入(thisValue)\h4.8.5.6內(nèi)部訪(fǎng)問(wèn)(internal)\h4.8.5.7概要分析\h第5章JavaScript的函數(shù)式語(yǔ)言特性\h5.1概述\h5.1.1從代碼風(fēng)格說(shuō)起\h5.1.2為什么常見(jiàn)的語(yǔ)言不贊同連續(xù)求值\h5.1.3函數(shù)式語(yǔ)言的淵源\h5.2從運(yùn)算式語(yǔ)言到函數(shù)式語(yǔ)言\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逗號(hào)運(yùn)算符與連續(xù)運(yùn)算\h5.2.1.5解構(gòu)賦值\h5.2.1.6函數(shù)與方法的調(diào)用\h5.2.2如何消滅語(yǔ)句\h5.2.2.1通過(guò)表達(dá)式消滅分支語(yǔ)句\h5.2.2.2通過(guò)函數(shù)遞歸消滅循環(huán)語(yǔ)句\h5.2.2.3其他可以被消滅的語(yǔ)句\h5.2.3運(yùn)算式語(yǔ)言\h5.2.3.1運(yùn)算的實(shí)質(zhì)是值運(yùn)算\h5.2.3.2運(yùn)算式語(yǔ)言的應(yīng)用\h5.2.4重新認(rèn)識(shí)函數(shù)\h5.2.4.1函數(shù)是對(duì)運(yùn)算式語(yǔ)言的補(bǔ)充\h5.2.4.2函數(shù)是代碼的組織形式\h5.2.4.3當(dāng)運(yùn)算符等義于某個(gè)函數(shù)時(shí)\h5.2.5函數(shù)式語(yǔ)言\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)算對(duì)函數(shù)外無(wú)副作用\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ù)對(duì)象\h5.3.1.6非簡(jiǎn)單參數(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類(lèi)\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類(lèi)與對(duì)象態(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塊級(jí)作用域中的函數(shù)\h5.4函數(shù)的行為\h5.4.1構(gòu)造\h5.4.1.1this引用的創(chuàng)建\h5.4.1.2初始化this對(duì)象\h5.4.2調(diào)用\h5.4.2.1不使用函數(shù)調(diào)用運(yùn)算符\h5.4.2.2callee:我是誰(shuí)\h5.4.2.3caller:誰(shuí)調(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可迭代對(duì)象與迭代\h5.4.4.2可迭代對(duì)象在語(yǔ)法層面的支持\h5.4.4.3迭代器的錯(cuò)誤與異常處理\h5.4.5生成器中的迭代\h5.4.5.1生成器對(duì)象\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閉包中的可訪(fǎng)問(wèn)標(biāo)識(shí)符\h5.5.2.3用戶(hù)代碼導(dǎo)致的閉包變化\h5.5.2.4函數(shù)表達(dá)式的特殊性\h5.5.2.5嚴(yán)格模式下的閉包\h5.5.3與閉包類(lèi)似的實(shí)例化環(huán)境\h5.5.3.1全局環(huán)境\h5.5.3.2模塊環(huán)境\h5.5.3.3對(duì)象閉包\h5.5.3.4塊\h5.5.3.5循環(huán)語(yǔ)句的特殊性\h5.5.3.6函數(shù)閉包與對(duì)象閉包的混用\h5.5.4與閉包相關(guān)的一些特性\h5.5.4.1變量維護(hù)規(guī)則\h5.5.4.2引用與泄露\h5.5.4.3語(yǔ)句或語(yǔ)句塊中的閉包問(wèn)題\h5.5.4.4閉包中的標(biāo)識(shí)符(變量)特例\h5.5.4.5函數(shù)對(duì)象的閉包及其效果\h第6章JavaScript的動(dòng)態(tài)語(yǔ)言特性\h6.1概述\h6.1.1動(dòng)態(tài)數(shù)據(jù)類(lèi)型的起源\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)類(lèi)型:對(duì)象與值類(lèi)型之間的轉(zhuǎn)換\h6.2.1包裝類(lèi):面向?qū)ο蟮耐讌f(xié)\h6.2.1.1顯式創(chuàng)建\h6.2.1.2顯式包裝\h6.2.1.3隱式包裝的過(guò)程與檢測(cè)方法\h6.2.1.4包裝值類(lèi)型數(shù)據(jù)的必要性與問(wèn)題\h6.2.1.5其他字面量與相應(yīng)的構(gòu)造器\h6.2.1.6函數(shù)特例\h6.2.2從對(duì)象到值\h6.2.2.1對(duì)象到值的隱式轉(zhuǎn)換規(guī)則\h6.2.2.2直接的值運(yùn)算不受包裝類(lèi)的方法影響\h6.2.2.3什么是“轉(zhuǎn)換的預(yù)期”\h6.2.2.4深入探究valueOf()方法\h6.2.2.5布爾運(yùn)算的特例\h6.2.2.6符號(hào)Symbol.toPrimitive的效果\h6.2.3顯式的轉(zhuǎn)換\h6.2.3.1顯式轉(zhuǎn)換的語(yǔ)法含義\h6.2.3.2對(duì)“轉(zhuǎn)換預(yù)期”的顯式表示\h6.2.3.3關(guān)于符號(hào)值的補(bǔ)充說(shuō)明\h6.3動(dòng)態(tài)類(lèi)型:值類(lèi)型的轉(zhuǎn)換\h6.3.1值運(yùn)算:類(lèi)型轉(zhuǎn)換的基礎(chǔ)\h6.3.1.1完整過(guò)程:運(yùn)算導(dǎo)致的類(lèi)型轉(zhuǎn)換\h6.3.1.2語(yǔ)句或語(yǔ)義導(dǎo)致的類(lèi)型轉(zhuǎn)換\h6.3.2值類(lèi)型之間的轉(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值類(lèi)型之間的顯式轉(zhuǎn)換\h6.3.3.1到數(shù)值的顯式轉(zhuǎn)換\h6.3.3.2到字符串類(lèi)型的顯式轉(zhuǎn)換\h6.3.3.3到undefined值的顯式處理\h6.3.3.4到布爾值的顯式處理\h6.4動(dòng)態(tài)類(lèi)型:對(duì)象與數(shù)組的動(dòng)態(tài)特性\h6.4.1關(guān)聯(lián)數(shù)組與索引數(shù)組\h6.4.2索引數(shù)組作為對(duì)象的問(wèn)題\h6.4.2.1索引數(shù)組更加低效\h6.4.2.2屬性length的可寫(xiě)性\h6.4.2.3類(lèi)型化數(shù)組的一些性質(zhì)\h6.4.3類(lèi)數(shù)組對(duì)象:對(duì)象作為索引數(shù)組的應(yīng)用\h6.4.4其他\h6.5重寫(xiě)\h6.5.1標(biāo)識(shí)符的重寫(xiě)及其限制\h6.5.1.1早于用戶(hù)代碼之前的聲明與重寫(xiě)\h6.5.1.2聲明對(duì)標(biāo)識(shí)符可寫(xiě)性的影響\h6.5.1.3賦值操作帶來(lái)的重寫(xiě)\h6.5.1.4對(duì)象內(nèi)部方法對(duì)重寫(xiě)的影響\h6.5.1.5非賦值操作帶來(lái)的重寫(xiě)\h6.5.1.6條件化聲明中的重寫(xiě)\h6.5.1.7運(yùn)算優(yōu)先級(jí)與引用的暫存\h6.5.2原型重寫(xiě)\h6.5.3構(gòu)造器重寫(xiě)\h6.5.3.1重寫(xiě)Object()\h6.5.3.2使用類(lèi)聲明來(lái)重寫(xiě)\h6.5.3.3繼承關(guān)系的丟失\h6.5.4對(duì)象成員的重寫(xiě)\h6.5.4.1成員重寫(xiě)的檢測(cè)\h6.5.4.2成員重寫(xiě)的刪除\h6.5.4.3成員重寫(xiě)對(duì)作用域的影響\h6.5.5引擎對(duì)重寫(xiě)的限制\h6.5.5.1this與super等關(guān)鍵字的重寫(xiě)\h6.5.5.2語(yǔ)句中的重寫(xiě)\h6.5.5.3結(jié)構(gòu)化異常處理中的重寫(xiě)\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使用對(duì)象閉包或模塊環(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í)例化過(guò)程與其他可執(zhí)行結(jié)構(gòu)不同\h6.6.3.5環(huán)境的回收\(chéng)h6.6.4動(dòng)態(tài)執(zhí)行過(guò)程中的語(yǔ)句、表達(dá)式與值\h6.6.5序列化與反序列化\h6.6.5.1在對(duì)象與函數(shù)上的限制\h6.6.5.2對(duì)象深度與循環(huán)引用\h6.6.5.3不太現(xiàn)實(shí)的替代品\h6.6.6eval對(duì)作用域的影響\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棧的可見(jiàn)與修改\h6.7.5嚴(yán)格模式中的this綁定問(wèn)題\h6.8通用執(zhí)行環(huán)境的實(shí)現(xiàn)\h6.8.1通用DSL的模型\h6.8.1.1概念設(shè)計(jì)\h6.8.1.2被依賴(lài)的基礎(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簡(jiǎn)單入手\h6.8.2.2引擎中的環(huán)境\h6.8.2.3對(duì)用戶(hù)代碼的語(yǔ)法分析\h6.8.2.4執(zhí)行前的準(zhǔn)備工作\h6.8.2.5從語(yǔ)法樹(shù)節(jié)點(diǎn)開(kāi)始執(zhí)行\(zhòng)h6.8.2.6數(shù)據(jù)的交換\h6.8.2.7上下文的使用與管理\h6.8.3與DSL的概念整合\h第7章JavaScript的并行語(yǔ)言特性\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從“支持并行”到并行程序語(yǔ)言\h7.1.2.2用并發(fā)思想處理數(shù)據(jù)的語(yǔ)言\h7.1.2.3多數(shù)傳統(tǒng)程序設(shè)計(jì)語(yǔ)言是“偽并行”的\h7.1.2.4真正的并行:在語(yǔ)言層面無(wú)視時(shí)間\h7.1.3并行語(yǔ)言特性在JavaScript中的歷史\h7.2Promise的核心機(jī)制\h7.2.1Promise的核心過(guò)程\h7.2.1.1Promise的構(gòu)造方法\h7.2.1.2需要清楚的事實(shí):沒(méi)有延時(shí)\h7.2.1.3Then鏈\h7.2.1.4Then鏈中promise2的置值邏輯\h7.2.1.5Then鏈對(duì)值的傳遞以及.catch()處理\h7.2.2Promise類(lèi)與對(duì)象的基本應(yīng)用\h7.2.2.1Promise的其他類(lèi)方法\h7.2.2.2Promise.resolve()處理thenable對(duì)象的具體方法\h7.2.2.3prom

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論