包含javascript實用的詞條

Web前端學(xué)習(xí)之Javascript繼承的常用4種方法

今天小編要跟大家分享的文章是關(guān)于Javascript繼承的常用4種方法。相信很多學(xué)習(xí)web前端開發(fā)技術(shù)的小伙伴在學(xué)習(xí)前端開發(fā)的javascript部分的時候,在面向?qū)ο蟮牟糠志秃茈y走下去了,主要的原因還是邏輯更加復(fù)雜了,需要理解的內(nèi)容比直觀的開發(fā)布局難一點。

十余年的牟定網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整牟定建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“牟定網(wǎng)站設(shè)計”,“牟定網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

在面向?qū)ο缶幊汤?,封裝和繼承是比較重要的,這中間,繼承是相對而言比較難理解的,因為javascript的繼承方式比較多,也有不同的優(yōu)缺點。今天小編為大家?guī)磉@篇文章就是來和大家一起說一說Javascript繼承的常用4種方法,希望能夠?qū)δ阌兴鶐椭?/p>

1、原型鏈繼承

核心:將父類的實例作為子類的原型

缺點:父類新增原型方法/原型屬性,子類都能訪問到,父類一變其它的都變了

2、構(gòu)造繼承

基本思想

借用構(gòu)造函數(shù)的基本思想就是利用call或者apply把父類中通過this指定的屬性和方法復(fù)制(借用)到子類創(chuàng)建的實例中。

因為this對象是在運(yùn)行時基于函數(shù)的執(zhí)行環(huán)境綁定的。也就是說,在全局中,this等于window,而當(dāng)函數(shù)被作為某個對象的方法調(diào)用時,this等于那個對象。

call、apply方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛蓆hisObj指定的新對象。

所以,這個借用構(gòu)造函數(shù)就是,new對象的時候(new創(chuàng)建的時候,this指向創(chuàng)建的這個實例),創(chuàng)建了一個新的實例對象,并且執(zhí)行Parent里面的代碼,而Parent里面用call調(diào)用了Person,也就是說把this指向改成了指向新的實例,所以就會把Person里面的this相關(guān)屬性和方法賦值到新的實例上,而不是賦值到Person上面,所以所有實例中就擁有了父類定義的這些this的屬性和方法。

因為屬性是綁定到this上面的,所以調(diào)用的時候才賦到相應(yīng)的實例中,各個實例的值就不會互相影響了。

核心:使用父類的構(gòu)造函數(shù)來增強(qiáng)子類實例,等于是復(fù)制父類的實例屬性給子類(沒用到原型)

缺點:方法都在構(gòu)造函數(shù)中定義,

只能繼承父類的實例屬性和方法,不能繼承原型屬性/方法,無法實現(xiàn)函數(shù)復(fù)用,每個子類都有父類實例函數(shù)的副本,影響性能

3、組合繼承

組合繼承(所有的實例都能擁有自己的屬性,并且可以使用相同的方法,組合繼承避免了原型鏈和借用構(gòu)造函數(shù)的缺陷,結(jié)合了兩個的優(yōu)點,是最常用的繼承方式)

核心:通過調(diào)用父類構(gòu)造,繼承父類的屬性并保留傳參的優(yōu)點,然后再通過將父類實例作為子類原型,實現(xiàn)函數(shù)復(fù)用

缺點:調(diào)用了兩次父類構(gòu)造函數(shù),生成了兩份實例(子類實例將子類原型上的那份屏蔽了)

4、寄生組合繼承

核心:通過寄生方式,砍掉父類的實例屬性,這樣,在調(diào)用兩次父類的構(gòu)造的時候,就不會初始化兩次實例方法/屬性,避免的組合繼承的缺點

缺點:堪稱完美,但實現(xiàn)較為復(fù)雜

以上就是小編今天為大家分享的關(guān)于web前端學(xué)習(xí)之Javascript繼承的常用4種方法的文章,希望本篇文章能夠?qū)φ趯W(xué)習(xí)web前端技術(shù)的小伙伴們有所幫助。想要了解更多web前端知識記得關(guān)注北大青鳥web培訓(xùn)官網(wǎng)。

文章轉(zhuǎn)載自公眾號:前端研究所

幾個簡單實用的javascript代碼塊分享

body

script?type="text/javascript"?src="jquery-1.8.3.js"/script

script?type="text/javascript"

$(document).ready(function()?{

$("#btn").click(function()?{

var?start?=?$("#txt1").val();

var?end?=?$("#txt2").val();

alert(start);

start?=?start.replace(/-/g,?"/");

var?startdate?=?new?Date(start);

end?=?end.replace(/-/g,?"/");

var?enddate?=?new?Date(end);

var?time?=?enddate.getTime()?-?startdate.getTime();

alert(time);

var?days?=?parseInt(time?/?(1000?*?60?*?60?*?24));

alert('相差'+days+'天');

});

});

/script

input?type="text"?id="txt1"?value="2015-05-06"?/

input?type="text"?id="txt2"?value="2015-06-07"?/

input?type="button"?id="btn"?value="點擊"

/body

《超實用的JavaScript代碼段》pdf下載在線閱讀全文,求百度網(wǎng)盤云資源

《超實用的JavaScript代碼段》百度網(wǎng)盤pdf最新全集下載:

鏈接:

?pwd=8eir 提取碼: 8eir

簡介:全書分為9章,包括JavaScript的一些必備知識,常用的表單處理、圖片處理、內(nèi)容展示、頁面處理、日期處理、頁面特效、移動開發(fā)等代碼及其他常用代碼,涉及閉包、Ajax、Data URI、DOM、BOM、數(shù)據(jù)字典、HTML 5、XML、JSON等現(xiàn)代JavaScript開發(fā)常用的技術(shù)。對那些想迅速全面了解JavaScript代碼處理技巧的前端開發(fā)人員有重要的指導(dǎo)意義。 ?

易語言和javascript哪個更簡單?哪個更實用?

易語言是單機(jī)程序開發(fā)語言,Javascript是網(wǎng)頁前端腳本語言,兩者基本上無交集,所以沒法對比。

如果一定要對比,那么我會說易語言比較簡單(別說你不知道“易”作為中文是什么意思),javascript則比較實用(因為它是網(wǎng)頁腳本,而網(wǎng)頁是跨平臺的,任何能夠瀏覽網(wǎng)頁的設(shè)備如PC、智能手機(jī)、平板以及各種智能家電,都可以運(yùn)行javascript哦)

標(biāo)題名稱:包含javascript實用的詞條
URL網(wǎng)址:http://muchs.cn/article26/phiicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站設(shè)計公司、動態(tài)網(wǎng)站、搜索引擎優(yōu)化、電子商務(wù)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司