


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、已經(jīng)講到,JavaScript不應(yīng)該責(zé)備社區(qū)出現(xiàn)這樣的方案,事實上,因為一些公司的政治原因,JavaScript所以,JavaScript創(chuàng)始人BrendanEich在“原型運行時”的基礎(chǔ)上引入了new、this等語言特性,使之“看起來語法更像已經(jīng)講到,JavaScript不應(yīng)該責(zé)備社區(qū)出現(xiàn)這樣的方案,事實上,因為一些公司的政治原因,JavaScript所以,JavaScript創(chuàng)始人BrendanEich在“原型運行時”的基礎(chǔ)上引入了new、this等語言特性,使之“看起來語法更像Java”,而Java正是基于類的面慶幸的是,從ES6開始,JvSipt提供了lss關(guān)鍵字來定義類,盡管,這樣的
2、方案仍然是基于原型運行時系統(tǒng)的模擬,但是它修正了之前的一些常見的坑,了社區(qū)的方案,這對語言的發(fā)展有著非常大的好處。實際上,我認(rèn)為“基于類”把視線從“類”移開,Brendan的方式來描述對象,這誕生了諸如 象系統(tǒng)通過 的象能力的scheme語言(,這應(yīng)該是Brendan原型系統(tǒng)的;拋開JavaScript用于模擬Java類的復(fù)雜語法設(shè)施(如new、FunctionObject、函數(shù)的prototype屬性等),原型系統(tǒng)可以說相當(dāng)簡單,我可以用兩條概Object.create根據(jù)指定的原型創(chuàng)建新對象,原型可以是null; Object.getPrototypeOf 獲得一個對象的原型; Objec
3、t.setPrototypeOf 設(shè)置一個對象的原型。var catvar tiger=varanotherCat=Object.create(cat); varanotherTiger=完全可以用Object.createvaranotherCat=Object.create(cat); varanotherTiger=完全可以用Object.create的定義是一個私有屬性 onsbd= rf= newObject; newNumber; new ;new =function()returnarguments(); new RegExp;new= newenewconsole.log(o,
4、n,s,b,d,arg,r,f,arr,e.map(v= 在ES5開始,class Symbol.toStringTag 代替,Ototype.toString 的意義從命名上不再跟 class Ototype.toString 的行為,以下代碼展示了使用Symbol.toStringTag來自定義 varo=Symbol.toStringTag:MyObject console.log(o + );對但是,考慮到JavaScript語法中跟Java不能用“new運算是針對構(gòu)造器對象,而不是類”來試圖回避仍然要把new理解成JavaScript象的一部分,下
5、面我就來講一下new對但是,考慮到JavaScript語法中跟Java不能用“new運算是針對構(gòu)造器對象,而不是類”來試圖回避仍然要把new理解成JavaScript象的一部分,下面我就來講一下newprototype屬性(注意與私有字段prototype的區(qū)分)為原型,創(chuàng)建新對象;將 this 和調(diào)用參數(shù)傳給構(gòu)造器,執(zhí)行; c1()this.p1= this.p2function()console.l totype.p1 = 1; totype.p2=function()varo2=newc2; 第沒有Object.create、Object.setP
6、rototypeOf 的早期版本中,new 運算是唯一一個可以指定prototype的方法(當(dāng)時的mozilla提供了私有屬性環(huán)境并不支持),所以,當(dāng)時已經(jīng)有人試圖用它來代替后來的 Object.create,Object.create = function(prototype)varcls= function() totype = prototype; return new cls;這段代碼創(chuàng)建了一個空函數(shù)作為類,并把傳入的原型掛在了它的pototyp,最后創(chuàng)建了一個它的實例,根據(jù)ne的行為,這將產(chǎn)生一個以傳入的第一個參數(shù)為原型的對象。ES6 好在ES6中加入了新特性ew跟fu
7、nction搭配的怪異行為終于可以退休了(雖然運行時沒有改變),使用ES6令function回歸原本的函數(shù)語義。下ES6 好在ES6中加入了新特性ew跟function搭配的怪異行為終于可以退休了(雖然運行時沒有改變),使用ES6令function回歸原本的函數(shù)語義。下就來看一下ES6中的類ES6中引入了class關(guān)鍵字,并且在標(biāo)準(zhǔn)中刪除了所有class為了JavaScriptclassconstructor(height,width) this.height = height; this.width = width;/ Getter getarea()return/ Method retur
8、nthis.height*類的寫法實際上也是由原型運行時來承載的,邏輯上vSipt認(rèn)為每個類是有共同原型的一組對象,類中定義的方法和屬性則會被寫在原型對象之上。此外,最重要的是,類提供了繼承能力。來看一下下面的代碼。classconstructor(name) = name;speak()console.log(+makesaclassDogextendsconstructor(name)super(name);/callthesuperclassconstructorandhe namespeak()console.log(+letd=
9、newd.speak();/Mitzied.speak();/Mitzie比起早期的原型模擬方式,使用extends關(guān)鍵字自動設(shè)置了constructor來設(shè)計代碼時,應(yīng)該盡量使用class一些激進(jìn)的觀點認(rèn)為,lss關(guān)鍵字和箭頭運算符可以完全替代舊的untion關(guān)鍵字,它更明確地區(qū)分了定義函數(shù)和定義類兩種意圖,我認(rèn)為這是有一定道理的。在新的ES。這些知識真的不止這個價格了, 感謝老師 15贊 這些知識真的不止這個價格了, 感謝老師 15贊 2019-02-01給Sortable就完事了 2贊n 2贊 的: 講得很好,今天是不是因為放假了,人好像有點少.平時寫代碼,基本上沒寫過lss,都是unt
10、ion,體積大了就拆成小的.而且vu等框架本身就解決了一定的復(fù)雜度2贊 給Sortable就完事了 2贊n 2贊 的: 講得很好,今天是不是因為放假了,人好像有點少.平時寫代碼,基本上沒寫過lss,都是untion,體積大了就拆成小的.而且vu等框架本身就解決了一定的復(fù)雜度2贊 感謝 1. class和Symbol.toStringTag實質(zhì)上是控制的“ the creation of the default string description of an object”,但舉例中使用了一個o.toString()來講述,感覺容“類中定義的方法和屬性則會被寫在原型對象之上” 變的不是那么重要
11、呢 1贊寫constructer使用箭頭函數(shù)直接寫方法,是不是constructer utils function 1贊2019-01-31yansj2019-02-07寫react用class utils function 1贊2019-01-31yansj2019-02-07寫react用class 寫vue用 得js面象,關(guān)于類的東西亂七八糟,什么都是模擬的,以前看你不知道的JavaScript用新的class解js的設(shè)計是基于原型的,與類是不同的思路,并且具有自己的一些獨特優(yōu)勢。實際開發(fā)一般用react,所以還是class joker2019-02-02的方式。還有異步api 全都是回調(diào),Promise 都出來多久了。寫法,創(chuàng)建組件的ap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招投標(biāo)合同管理系統(tǒng)
- 商鋪代理銷售租賃合同
- 苗圃場地出租合同
- 安保公司可行性研究報告
- 廠家廠房轉(zhuǎn)讓合同范本
- 雙股權(quán)合同范例
- 勞務(wù)雇傭協(xié)議合同范本
- 旅游景區(qū)環(huán)境綜合整治專題研究:基礎(chǔ)設(shè)施建設(shè)規(guī)劃
- 牛肉行業(yè)分析研究報告
- 加盟衣服店鋪合同范本
- 認(rèn)真對待培訓(xùn)課件
- 現(xiàn)代家政導(dǎo)論-課件 6.1.2認(rèn)識家政職業(yè)道德
- 《機械制圖》高職機電專業(yè)全套教學(xué)課件
- 蘇少版七年級美術(shù)下冊 全冊
- NB-T31065-2015風(fēng)力發(fā)電場調(diào)度運行規(guī)程
- 2024山東能源集團(tuán)中級人才庫選拔【重點基礎(chǔ)提升】模擬試題(共500題)附帶答案詳解
- 油田設(shè)備租賃行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃行業(yè)投資戰(zhàn)略研究報告(2024-2030)
- 四川省綿陽市東辰學(xué)校2023-2024學(xué)年七年級下學(xué)期3月月考語文卷
- 中國古典風(fēng)格設(shè)計
- 社會實踐報告表格范本
- 市政綜合項目工程竣工項目驗收總結(jié)報告自評
評論
0/150
提交評論