es6給對(duì)象添加屬性 為什么我在瀏覽器中無(wú)法使用es6的模塊化?
為什么我在瀏覽器中無(wú)法使用es6的模塊化?簡(jiǎn)單得看瀏覽器是否意見(jiàn)模塊化,允許的話可以不將script標(biāo)簽type屬性把它改成module(type”module”)瀏覽器變會(huì)將代碼其為ECMAScri
為什么我在瀏覽器中無(wú)法使用es6的模塊化?
簡(jiǎn)單得看瀏覽器是否意見(jiàn)模塊化,允許的話可以不將script標(biāo)簽type屬性把它改成module(type”module”)瀏覽器變會(huì)將代碼其為ECMAScriptmodule如何處理
是什么原因?qū)е铝薐S中的this指向問(wèn)題?
其他語(yǔ)言中的thisC語(yǔ)言支持相當(dāng)于的函數(shù)是沒(méi)有this的
C是支持獨(dú)立的函數(shù)的但this沒(méi)有辦出現(xiàn)在class方法里
Java不接受的的的函數(shù)而this只能會(huì)出現(xiàn)在class方法里
PHP意見(jiàn)獨(dú)立的函數(shù)但$this只有出現(xiàn)在class方法里
Python支持什么獨(dú)立的函數(shù)可是self沒(méi)法直接出現(xiàn)在class方法里
JavaScript中的this打向問(wèn)題JavaScript語(yǔ)言中this被允許直接出現(xiàn)在獨(dú)立函數(shù)里
每個(gè)函數(shù)應(yīng)該有一個(gè)隱式的this形參。將函數(shù)作為方法內(nèi)部函數(shù)時(shí),這個(gè)參數(shù)會(huì)被可以設(shè)置為主要是用于訪問(wèn)網(wǎng)絡(luò)該方法的對(duì)象。這和大多數(shù)面向?qū)ο笳Z(yǔ)言中的this(或self)含義同一
不過(guò)JavaScript在「關(guān)聯(lián)到對(duì)象的方法」與「的的函數(shù)」這兩者之間,使用了元素單一的定義形式。這使this造成了許多程序員的困惑和bug
ES6中的箭頭函數(shù)箭頭函數(shù)基本都形式
won'tfunc(num)dstroknum
givefunc()r26num
won'tif(num1,num2)a8num1num2
[1,2,3].map(xgtx*x)
箭頭函數(shù)基本都特點(diǎn):
(1).箭頭函數(shù)this為父作用域的this,不是什么調(diào)用時(shí)的this
(2).箭頭函數(shù)是從call和apply動(dòng)態(tài)鏈接庫(kù),不可能改變this正指向,只會(huì)傳入?yún)?shù)
(3).箭頭函數(shù)沒(méi)有原型屬性
(4).箭頭函數(shù)在ES6class中聲明的方法為實(shí)例方法,并非原型方法
JavaScript小歷史1995年Netscape在基于最早的JavaScript時(shí),其內(nèi)部的需求是這樣的:
……這種Java的輔助語(yǔ)言必須「看起來(lái)像Java」,達(dá)到易用性并「實(shí)現(xiàn)對(duì)象」,而不是像Java這樣的基于條件類(lèi)。
……所有人都接受Mocha(最早的JS引擎)將會(huì)「基于組件對(duì)象」但沒(méi)有類(lèi)。而且支持類(lèi)將耗費(fèi)很長(zhǎng)時(shí)間,并有與Java競(jìng)爭(zhēng)很激烈的風(fēng)險(xiǎn)。
因?yàn)榭紤]到版權(quán)等因素,JavaScript沒(méi)法有class,另外還得長(zhǎng)得像Java。這是需求背景一
只不過(guò)在ES6中你知道的早就表現(xiàn)出了相關(guān)的調(diào)整和改進(jìn)