javascript構(gòu)造函數(shù)實(shí)例 js中class類extend和原型鏈繼承的區(qū)別?
js中class類extend和原型鏈繼承的區(qū)別?類式繼承:在子類型構(gòu)造函數(shù)的內(nèi)部調(diào)用父類的構(gòu)造函數(shù)原型繼承:子類通過(guò)prototype將所有在父類中通過(guò)prototype添加的屬性和方法都追加到Ch
js中class類extend和原型鏈繼承的區(qū)別?
類式繼承:在子類型構(gòu)造函數(shù)的內(nèi)部調(diào)用父類的構(gòu)造函數(shù)
原型繼承:子類通過(guò)prototype將所有在父類中通過(guò)prototype添加的屬性和方法都追加到Child,從而實(shí)現(xiàn)了繼承
優(yōu)缺點(diǎn): 類式繼承在運(yùn)行時(shí),無(wú)法修改或者添加新的方法,而原型繼承是可以通過(guò)改變?cè)玩溄佣鴮?duì)子類進(jìn)行修改的,類式繼承不支持多重繼承,而對(duì)于原型繼承來(lái)說(shuō),只需要寫(xiě)好extend對(duì)對(duì)象進(jìn)行進(jìn)一步的擴(kuò)展就可以。
js函數(shù)中如何傳遞數(shù)組參數(shù)?
由于function的參數(shù)是數(shù)組,那么傳入?yún)?shù)也設(shè)置為數(shù)組,然后按照一般的傳參傳入即可。舉個(gè)例子:
1、函數(shù)定義
function userfun(array){tvar square []tfor(k in array)ttsquare[k] array[k]*array[k]treturn square}
2、傳參和調(diào)用
a [1,2,3,4,5]b userfun(a)alert(b)
3、結(jié)果顯示
在js中定時(shí)調(diào)用函數(shù)foo()如何寫(xiě)?
調(diào)用的方法:ltscriptgtfunction foo(){ alert(new Date())setTimeout(
JavaScript和java有什么聯(lián)系嗎?
給你講個(gè)故事吧:
JavaScript 是在95年由網(wǎng)景公司的一名員工發(fā)明的,最初的命名為L(zhǎng)iveScript
當(dāng)時(shí),網(wǎng)景和JAVA所在SUN公司有合作關(guān)系
為了蹭JAVA編程語(yǔ)言的熱度,讓一門(mén)新語(yǔ)言能夠被程序員所熟知
(其實(shí)你問(wèn)這個(gè)問(wèn)題,就知道這個(gè)熱度已經(jīng)蹭成功了)
最后改名為JavaScript
題外話:
其實(shí)微軟也出過(guò)客戶端腳本語(yǔ)言,名稱分別為vbScript,JScript。
嚴(yán)格上來(lái)說(shuō),現(xiàn)在已經(jīng)沒(méi)有JavaScript了
正規(guī)的叫法應(yīng)該是ECMAScript
96年,JavaScript被提交給了ECMA國(guó)際標(biāo)準(zhǔn)委員會(huì),取名為ECMAScript
這個(gè)組織(ECMA)的TC39組負(fù)責(zé)制定該門(mén)語(yǔ)言的規(guī)范,每年都會(huì)更新規(guī)范,推出語(yǔ)言新的特性。所以你會(huì)見(jiàn)到有說(shuō)ES1 ES2 ES3 ES4 ES5 ES6
ES6被稱為下一代JavaScript
是ES2016 ES2017 ES2018 ES2019 ES2020的統(tǒng)稱