EMCAScript6(ES6)是最新的Javascript,它包含了一些很棒的新特性。這些特性擁有不同程度的復(fù)雜性,對(duì)于簡(jiǎn)單的腳本和復(fù)雜的應(yīng)用程序都非常的有用。\x0d\x0a\x0d\x0a增加的新特性:\x0d\x0a\x0d\x0a1.箭頭操作符\x0d\x0a 如果你會(huì)C#或者Java,你肯定知道lambda表達(dá)式,ES6中新增的箭頭操作符=便有異曲同工之妙。它簡(jiǎn)化了函數(shù)的書(shū)寫(xiě)。操作符左邊為輸入的參數(shù),而右邊則是進(jìn)行的操作以及返回的值Inputs=outputs。\x0d\x0a 我們知道在JS中回調(diào)是經(jīng)常的事,而一般回調(diào)又以匿名函數(shù)的形式出現(xiàn),每次都需要寫(xiě)一個(gè)function,甚是繁瑣。當(dāng)引入箭頭操作符后可以方便地寫(xiě)回調(diào)了。\x0d\x0a\x0d\x0a2.類(lèi)的支持\x0d\x0a ES6中添加了對(duì)類(lèi)的支持,引入了class關(guān)鍵字(其實(shí)class在JavaScript中一直是保留字,目的就是考慮到可能在以后的新版本中會(huì)用到,現(xiàn)在終于派上用場(chǎng)了)。JS本身就是面向?qū)ο蟮模珽S6中提供的類(lèi)實(shí)際上只是JS原型模式的包裝?,F(xiàn)在提供原生的class支持后,對(duì)象的創(chuàng)建,繼承更加直觀了,并且父類(lèi)方法的調(diào)用,實(shí)例化,靜態(tài)方法和構(gòu)造函數(shù)等概念都更加形象化。\x0d\x0a\x0d\x0a3.增強(qiáng)的對(duì)象字面量\x0d\x0a 對(duì)象字面量被增強(qiáng)了,寫(xiě)法更加簡(jiǎn)潔與靈活,同時(shí)在定義對(duì)象的時(shí)候能夠做的事情更多了。具體表現(xiàn)在:\x0d\x0a(1).可以在對(duì)象字面量里面定義原型\x0d\x0a(2).定義方法可以不用function關(guān)鍵字\x0d\x0a(3).直接調(diào)用父類(lèi)方法\x0d\x0a\x0d\x0a4.字符串模板\x0d\x0a 字符串模板相對(duì)簡(jiǎn)單易懂些。ES6中允許使用反引號(hào) ` 來(lái)創(chuàng)建字符串,此種方法創(chuàng)建的字符串里面可以包含由美元符號(hào)加花括號(hào)包裹的變量${vraible}。如果你使用過(guò)像C#等后端強(qiáng)類(lèi)型語(yǔ)言的話,對(duì)此功能應(yīng)該不會(huì)陌生。\x0d\x0a\x0d\x0a5.解構(gòu)\x0d\x0a 自動(dòng)解析數(shù)組或?qū)ο笾械闹?。比如若一個(gè)函數(shù)要返回多個(gè)值,常規(guī)的做法是返回一個(gè)對(duì)象,將每個(gè)值做為這個(gè)對(duì)象的屬性返回。但在ES6中,利用解構(gòu)這一特性,可以直接返回一個(gè)數(shù)組,然后數(shù)組中的值會(huì)自動(dòng)被解析到對(duì)應(yīng)接收該值的變量中。\x0d\x0a\x0d\x0a6.參數(shù)默認(rèn)值,不定參數(shù),拓展參數(shù)\x0d\x0a(1).默認(rèn)參數(shù)值\x0d\x0a 現(xiàn)在可以在定義函數(shù)的時(shí)候指定參數(shù)的默認(rèn)值了,而不用像以前那樣通過(guò)邏輯或操作符來(lái)達(dá)到目的了。\x0d\x0a(2).不定參數(shù)\x0d\x0a 不定參數(shù)是在函數(shù)中使用命名參數(shù)同時(shí)接收不定數(shù)量的未命名參數(shù)。這只是一種語(yǔ)法糖,在以前的JavaScript代碼中我們可以通過(guò)arguments變量來(lái)達(dá)到這一目的。不定參數(shù)的格式是三個(gè)句點(diǎn)后跟代表所有不定參數(shù)的變量名。比如下面這個(gè)例子中,?x代表了所有傳入add函數(shù)的參數(shù).\x0d\x0a(3).拓展參數(shù)\x0d\x0a 拓展參數(shù)則是另一種形式的語(yǔ)法糖,它允許傳遞數(shù)組或者類(lèi)數(shù)組直接做為函數(shù)的參數(shù)而不用通過(guò)apply。\x0d\x0a\x0d\x0a6.let與const 關(guān)鍵字\x0d\x0a 可以把let看成var,只是它定義的變量被限定在了特定范圍內(nèi)才能使用,而離開(kāi)這個(gè)范圍則無(wú)效。const則很直觀,用來(lái)定義常量,即無(wú)法被更改值的變量。\x0d\x0a\x0d\x0a7.for of 值遍歷\x0d\x0a 我們都知道for in 循環(huán)用于遍歷數(shù)組,類(lèi)數(shù)組或?qū)ο?,ES6中新引入的for of循環(huán)功能相似,不同的是每次循環(huán)它提供的不是序號(hào)而是值。\x0d\x0a8.模塊\x0d\x0a 在ES6標(biāo)準(zhǔn)中,JavaScript原生支持module了。這種將JS代碼分割成不同功能的小塊進(jìn)行模塊化的概念是在一些三方規(guī)范中流行起來(lái)的,比如CommonJS和AMD模式。\x0d\x0a\x0d\x0a9.Map,Set 和 WeakMap,WeakSet\x0d\x0a 這些是新加的集合類(lèi)型,提供了更加方便的獲取屬性值的方法,不用像以前一樣用hasOwnProperty來(lái)檢查某個(gè)屬性是屬于原型鏈上的呢還是當(dāng)前對(duì)象的。同時(shí),在進(jìn)行屬性值添加與獲取時(shí)有專(zhuān)門(mén)的get,set方法。\x0d\x0a\x0d\x0a10.Proxies\x0d\x0a Proxy可以監(jiān)聽(tīng)對(duì)象身上發(fā)生了什么事情,并在這些事情發(fā)生后執(zhí)行一些相應(yīng)的操作。一下子讓我們對(duì)一個(gè)對(duì)象有了很強(qiáng)的追蹤能力,同時(shí)在數(shù)據(jù)綁定方面也很有用處。\x0d\x0a\x0d\x0a11.Symbols\x0d\x0a 我們知道對(duì)象其實(shí)是鍵值對(duì)的集合,而鍵通常來(lái)說(shuō)是字符串。而現(xiàn)在除了字符串外,我們還可以用symbol這種值來(lái)做為對(duì)象的鍵。Symbol是一種基本類(lèi)型,像數(shù)字,字符串還有布爾一樣,它不是一個(gè)對(duì)象。Symbol 通過(guò)調(diào)用symbol函數(shù)產(chǎn)生,它接收一個(gè)可選的名字參數(shù),該函數(shù)返回的symbol是唯一的。之后就可以用這個(gè)返回值做為對(duì)象的鍵了。Symbol還可以用來(lái)創(chuàng)建私有屬性,外部無(wú)法直接訪問(wèn)由symbol做為鍵的屬性值。\x0d\x0a\x0d\x0a12.Math,Number,String,Object 的新API\x0d\x0a 對(duì)Math,Number,String還有Object等添加了許多新的API。下面代碼同樣來(lái)自es6features,對(duì)這些新API進(jìn)行了簡(jiǎn)單展示。\x0d\x0a\x0d\x0a13.Promises\x0d\x0a Promises是處理異步操作的一種模式,之前在很多三方庫(kù)中有實(shí)現(xiàn),比如jQuery的deferred 對(duì)象。當(dāng)你發(fā)起一個(gè)異步請(qǐng)求,并綁定了.when(), .done()等事件處理程序時(shí),其實(shí)就是在應(yīng)用promise模式。
成都創(chuàng)新互聯(lián)2013年開(kāi)創(chuàng)至今,先為東烏珠穆沁等服務(wù)建站,東烏珠穆沁等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為東烏珠穆沁企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
10。因?yàn)镴avaScript運(yùn)算符分為很多種,例如:算數(shù)運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、條件運(yùn)算符等其它;還有運(yùn)算符的優(yōu)先級(jí)。在javascript中6+4運(yùn)用算數(shù)運(yùn)算符即可。所以結(jié)果是10。
《JavaScript權(quán)威指南第六版》百度網(wǎng)盤(pán)pdf最新全集下載:
鏈接:
?pwd=5z0p 提取碼:5z0p
簡(jiǎn)介:JavaScript權(quán)威指南主要講述的內(nèi)容涵蓋JavaScript語(yǔ)言本身,以及Web瀏覽器所實(shí)現(xiàn)的JavaScript API。本書(shū)第6版涵蓋了HTML5和ECMAScript 5,很多章節(jié)完全重寫(xiě),新增的章節(jié)包括jQuery、服務(wù)器端JavaScript、圖形編程以及 JavaScript式的面向?qū)ο?。本?shū)不僅適合初學(xué)者系統(tǒng)學(xué)習(xí),也適合有經(jīng)驗(yàn)的 JavaScript 開(kāi)發(fā)者隨手翻閱。 ?