最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中創(chuàng)建對象和繼承示例解讀

 更新時間:2014年02月12日 15:26:12   作者:  
這篇文章主要介紹了JavaScript中怎樣創(chuàng)建對象和繼承,需要的朋友可以參考下
對象創(chuàng)建:

當(dāng)一個函數(shù)對象被創(chuàng)建時候,F(xiàn)unction構(gòu)造器產(chǎn)生的函數(shù)對象會運(yùn)行類似這樣的代碼:
復(fù)制代碼 代碼如下:

this.prototype={constructor:this};

假設(shè)函數(shù)F
F用new方式構(gòu)造對象時,對象的constructor被設(shè)置成這個F.prototype.constructor
如果函數(shù)在創(chuàng)建對象前修改了函數(shù)的prototype,會影響創(chuàng)建出來對象的construtor屬性

如:
復(fù)制代碼 代碼如下:

function F(){};
F.prototype={constructor:'1111'};
var o=new F();//o.constructor===‘1111' true

繼承原理:

JavaScript中的繼承是使用原型鏈的機(jī)制,每個函數(shù)的實(shí)例都共享構(gòu)造函數(shù)prototype屬性中定義的數(shù)據(jù),要使一個類繼承另一個,需要把父函數(shù)實(shí)例賦值到子函數(shù)的prototype屬性。并且在每次new實(shí)例對象時,對象的私有屬性__proto__會被自動連接到構(gòu)造函數(shù)的prototype。

instanceof就是查找實(shí)例對象的私有prototype屬性鏈來確定是否是指定對象的實(shí)例

具體實(shí)例:
復(fù)制代碼 代碼如下:

//instanceof實(shí)現(xiàn)
function Myinstanceof(obj,type)
{
var proto=obj.__proto__;
while(proto)
{
if(proto ===type.prototype)break;
proto=proto.__proto__;
}
return proto!=null;
}


function View(){}
function TreeView(){}
TreeView.prototype=new View();//TreeView.prototype.__proto__=TreeView.prototype 自動完成
TreeView.prototype.constructor=TreeView;//修正constructor
var view=new TreeView();//view.__proto__=TreeView.prototype 自動完成
alert(view instanceof View); //true 查找到view.__proto__.__proto__時找到
alert(view instanceof TreeView); //true 查找到view.__proto__時找到
alert(Myinstanceof(view,View)); //true
alert(Myinstanceof(view,TreeView)); //true

相關(guān)文章

  • 微信小程序點(diǎn)擊滾動到指定位置的實(shí)現(xiàn)

    微信小程序點(diǎn)擊滾動到指定位置的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序點(diǎn)擊滾動到指定位置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 自己寫的Javascript計(jì)算時間差函數(shù)

    自己寫的Javascript計(jì)算時間差函數(shù)

    Javascript計(jì)算時間差函數(shù),獲得時間差,時間格式為 年-月-日 小時:分鐘:秒 或者 年/月/日 小時:分鐘:秒。
    2013-10-10
  • JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法

    JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法

    這篇文章主要介紹了JavaScript將數(shù)據(jù)轉(zhuǎn)換成整數(shù)的方法,有需要的朋友可以參考一下
    2014-01-01
  • 無縫滾動的簡單實(shí)現(xiàn)代碼(推薦)

    無縫滾動的簡單實(shí)現(xiàn)代碼(推薦)

    下面小編就為大家?guī)硪黄獰o縫滾動的簡單實(shí)現(xiàn)代碼(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • uniapp動態(tài)修改元素節(jié)點(diǎn)樣式詳解

    uniapp動態(tài)修改元素節(jié)點(diǎn)樣式詳解

    這篇文章主要介紹了uni-app動如何態(tài)修改元素節(jié)點(diǎn)樣式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • 詳解Javascript實(shí)踐中的命令模式

    詳解Javascript實(shí)踐中的命令模式

    這篇文章主要介紹了Javascript實(shí)踐中的命令模式,對命令模式感興趣的同學(xué),可以參考下
    2021-05-05
  • echarts報(bào)錯:Error?in?mounted?hook的解決方法

    echarts報(bào)錯:Error?in?mounted?hook的解決方法

    最近又遇到了寫echarts的時候常遇到的一個錯誤,這篇文章主要給大家介紹了關(guān)于echarts報(bào)錯:Error?in?mounted?hook:?“TypeError:?Cannot?read?properties?of?undefined?(reading?‘init‘)“的解決方法,需要的朋友可以參考下
    2022-07-07
  • JS中多種方式創(chuàng)建對象詳解

    JS中多種方式創(chuàng)建對象詳解

    下面小編就為大家?guī)硪黄狫S中多種方式創(chuàng)建對象詳解。小編覺得挺不錯的?,F(xiàn)在分享給大家,給大家一個參考。一起跟隨小編過來看看吧
    2016-03-03
  • js或css實(shí)現(xiàn)滾動廣告的幾種方案

    js或css實(shí)現(xiàn)滾動廣告的幾種方案

    今天無事逛網(wǎng),突然發(fā)現(xiàn)了一個很有趣的事情,(也許只有我覺得有趣).我看到一圖片竟然在我拖動滾動條的時候沒有動,也許你會說我少見多怪,不信你去找個這樣的我看看,很少有的,一般的都是一拖動圖片就在那跳得厲害。
    2010-01-01
  • js實(shí)現(xiàn)WebSocket 連接的示例代碼

    js實(shí)現(xiàn)WebSocket 連接的示例代碼

    本文主要介紹了js實(shí)現(xiàn)WebSocket 連接的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評論

淮安市| 阿巴嘎旗| 辽中县| 勐海县| 肥西县| 吴旗县| 分宜县| 鹰潭市| 池州市| 安宁市| 嵊州市| 札达县| 屏边| 兴和县| 仙桃市| 日土县| 遵化市| 绥化市| 双桥区| 喜德县| 南郑县| 东方市| 壤塘县| 金门县| 靖西县| 乌鲁木齐县| 蒲城县| 恩施市| 德化县| 通州区| 兰州市| 双牌县| 招远市| 乐安县| 泰兴市| 乐都县| 普宁市| 嘉兴市| 临沧市| 垦利县| 达孜县|