天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

不錯(cuò)的一篇關(guān)于javascript-prototype繼承

1.最基本的用法 把ClassA的一個(gè)實(shí)例賦值給ClassB,
ClassB就繼承了ClassA的所有屬性。
代碼入下:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
2.從原型繼承理論的角度去考慮, 
js的原型繼承是引用原型,不是復(fù)制原型,
所以,修改原型會(huì)導(dǎo)致所有B的實(shí)例的變化。
代碼如下:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
3.然而 子類對(duì)象的寫操作只訪問子類對(duì)象中成員,
它們之間不會(huì)互相影響,因此,
寫是寫子類 讀是讀原型(如果子類中沒有的話)。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
4.每個(gè)子類對(duì)象都執(zhí)有同一個(gè)原型的引用,
所以子類對(duì)象中的原型成員實(shí)際是同一個(gè)。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
5.構(gòu)造子類時(shí) 原型的構(gòu)造函數(shù)不會(huì)被執(zhí)行

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
6.接下來是致命的,在子類對(duì)象中訪問原型的成員對(duì)象:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
7.所以 在prototype繼承中 原型類中不能有成員對(duì)象! 所有成員必須是值類型數(shù)據(jù)(string也可以)
用prototype繼承有執(zhí)行效率高,不會(huì)浪費(fèi)內(nèi)存,為父類動(dòng)態(tài)添置方法后子類中馬上可見等的優(yōu)點(diǎn)。

8.prototype繼承是通過把子類的原型對(duì)象(prototype)設(shè)置成父類的一個(gè)實(shí)例來進(jìn)行繼承的。

9.prototype繼承也有四個(gè)比較明顯的缺點(diǎn):
  缺點(diǎn)一:父類的構(gòu)造函數(shù)不是像Java中那樣在給子類進(jìn)行實(shí)例化時(shí)執(zhí)行的,而是在設(shè)置繼承的時(shí)候執(zhí)行的,并且只執(zhí)行一次。這往往不是我們希望的,特別是父類的構(gòu)造函數(shù)中有一些特殊操作的情況下。
  缺點(diǎn)二:由于父類的構(gòu)造函數(shù)不是在子類進(jìn)行實(shí)例化時(shí)執(zhí)行,在父類的構(gòu)造函數(shù)中設(shè)置的成員變量到了子類中就成了所有實(shí)例對(duì)象公有的公共變量。由于JavaScript中繼承只發(fā)生在“獲取”屬性的值時(shí),對(duì)于屬性的值是String,Number和Boolean這些數(shù)據(jù)本身不能被修改的類型時(shí)沒有什么影響。但是Array和Object類型就會(huì)有問題。
  缺點(diǎn)三:如果父類的構(gòu)造函數(shù)需要參數(shù),我們就沒有辦法了。
  缺點(diǎn)四:子類原本的原型對(duì)象被替換了,子類本身的constructor屬性就沒有了。在類的實(shí)例取它的constructor屬性時(shí),取得的是從父類中繼承的constructor屬性,從而constructor的值是父類而不是子類。

10.可以針對(duì)prototype的缺點(diǎn)進(jìn)行改造
比如把它寫成Function對(duì)象的一個(gè)方法,這樣用的時(shí)候方便。

Function.prototype.Extends = function (parentClass)
{
  var Bs = new Function();
  Bs.prototype = parentClass.prototype;
  this.prototype = new Bs();
  this.prototype.Super = parentClass;
  this.prototype.constructor = this;
}

希望各位 js 高手能把更好的方式介紹給大家
針對(duì)第3,6個(gè)

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
針對(duì)繼承,
Array.prototype 就不能繼承 ClassA,ClassB

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
帶參數(shù)的繼承問題

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

JavaScript技術(shù)不錯(cuò)的一篇關(guān)于javascript-prototype繼承,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线中文高清资源免费观看 | 亚洲AV久久无码精品国产网站 | 欧美在线亚洲综合国产人 | 精品粉嫩BBWBBZBBW | 亚洲欧美综合在线中文 | 色迷迷导航 | 探花口爆颜射乳交日韩 | 内射少妇36P亚洲区 内射少妇36P九色 | 免费国产久久啪在线 | 粗暴玩烂货调教 | 污文啊好棒棒啊好了 | 中国比基尼美女 | MM131亚洲精品久久安然 | 果冻传媒我的女老板 | 97免费视频观看 | 亚洲人人为我我为人人 | 精品香蕉99久久久久网站 | 国产午夜精品理论片久久影视 | 丰满少妇67194视频 | 午理论理影片被窝 | 亚洲人成电影网站色2017 | 亚洲AV无码乱码国产麻豆穿越 | 蜜桃成熟时33D在线嘟嘟网 | 中文字幕在线视频免费观看 | 姐姐不~不可以动漫在线观看 | 做暖暖视频在线看片免费 | 后入内射国产一区二区 | 尿了么app| 亚洲成人免费看 | 国产成人在线视频免费观看 | 99re6在线视频国产精品欧美 | 亚洲中文字幕永久在线全国 | 成人在线免费视频观看 | 青青草原影视 | 俄罗斯女人Z0Z0极品 | 小xav导航 | 国产系列在线亚洲视频 | 国产精品香蕉视频在线 | 中国国产不卡视频在线观看 | 暖暖 免费 高清 日本视频大全 | 亚洲精品无码葡京AV天堂 |