成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS構(gòu)造對象方法

NSFish / 468人閱讀

摘要:參考文章構(gòu)造函數(shù)模式構(gòu)造函數(shù)的問題使用構(gòu)造函數(shù)最主要的問題就是每個方法都要在每個實例上重新創(chuàng)建一次,與的都有方法,但不是同一個的實例,因為在中也是一個對象。因此他們共有的方法并不相等。

參考文章

構(gòu)造函數(shù)模式:
this.show =function(){alert(this.name+"xxx")}

function Car(color,wheels){
this.color=color;
this.wheels=wheels;
this.cost=3000
}

構(gòu)造函數(shù)的問題:使用構(gòu)造函數(shù)最主要的問題就是每個方法都要在每個實例上重新創(chuàng)建一次,p1與p2的都有show方法,但不是同一個Function的實例,因為function在js中也是一個對象。因此他們共有的show方法并不相等。相當于都自己下載一份。浪費內(nèi)存??梢宰鳛楣卜椒ɡ^承,就像網(wǎng)盤,保存 其實是新建一個指針,指向一個物理實體。所以只有一個實例

原型模式

function Car={};
Car.prototype.name = "法拉利";
Car.prototype.color = "red";
Car.prototype.move = function(){xxx};

混合模式,復(fù)制+繼承(共享)

function Car(color){

this.color = color;

}

Car.prototype.showname = function(){alert(this.name)}
or

Car.prototype={

showname:function(){
    alert(this.name);
}

}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/84380.html

相關(guān)文章

  • JS面向對象編程之封裝

    摘要:在基于原型的面向?qū)ο蠓绞街?,對象則是依靠構(gòu)造函數(shù)和原型構(gòu)造出來的。來看下面的例子優(yōu)點與單純使用構(gòu)造函數(shù)不一樣,原型對象中的方法不會在實例中重新創(chuàng)建一次,節(jié)約內(nèi)存。 我們所熟知的面向?qū)ο笳Z言如 C++、Java 都有類的的概念,類是實例的類型模板,比如Student表示學(xué)生這種類型,而不表示任何具體的某個學(xué)生,而實例就是根據(jù)這個類型創(chuàng)建的一個具體的對象,比如zhangsan、lisi,由...

    YFan 評論0 收藏0
  • JS高級程序設(shè)計》讀書筆記----JS創(chuàng)建對象的七種模式

    摘要:用對象字面量形式創(chuàng)建的對象,直接賦值給函數(shù)的原型對象,本質(zhì)上完全重寫了其對象,因此屬性也就變成了新對象的屬性指向構(gòu)造函數(shù),不再指向函數(shù)。 【上一篇】:JavaScript對象內(nèi)部屬性及其特性總結(jié) showImg(https://segmentfault.com/img/bVbjYsc?w=839&h=489); 工廠模式(★★) 先在內(nèi)部顯示地創(chuàng)建一個臨時對象,根據(jù)接收的參數(shù)來構(gòu)建(賦...

    Dogee 評論0 收藏0
  • JavaScript面向對象

    摘要:構(gòu)造函數(shù)的兩個特征函數(shù)內(nèi)部使用了,指向所要生成的對象實例。將一個空對象的指向構(gòu)造函數(shù)的屬性,這個對象就是要返回的實例對象。用面向?qū)ο箝_發(fā)時,把要生成的實例對象的特有屬性放到構(gòu)造函數(shù)內(nèi),把共有的方法放到構(gòu)造函數(shù)的里面。 JS中面向?qū)ο蟮母拍?面向?qū)ο驩OP是一種組織代碼結(jié)構(gòu)、實現(xiàn)功能過程的思維方式。它將真實世界各種復(fù)雜的關(guān)系,抽象為一個個對象,然后由對象之間的分工與合作,完成對真實世界的...

    Eirunye 評論0 收藏0
  • JS 原型的解釋

    首先明確兩個概念: 構(gòu)造函數(shù)和 instance 分別是什么 構(gòu)造函數(shù)JS 中并沒有在語法層面上面區(qū)分構(gòu)造函數(shù)和普通函數(shù), 唯一的區(qū)別是調(diào)用方式使用 new 調(diào)用的函數(shù)就是構(gòu)造函數(shù), 沒有則是普通函數(shù). 實例new Constructor() 返回的對象稱為 Constructor 的一個實例 然后提出一個規(guī)則:在構(gòu)造函數(shù)的原型上面附加的屬性或者方法, 可以被其所有的實例共用. 可以推導(dǎo)出: ...

    silvertheo 評論0 收藏0
  • js原型和繼承

    摘要:舉例說明組合繼承組合繼承利用原型鏈借用構(gòu)造函數(shù)的模式解決了原型鏈繼承和類式繼承的問題。示例組合式繼承是比較常用的一種繼承方法,其背后的思路是使用原型鏈實現(xiàn)對原型屬性和方法的繼承,而通過借用構(gòu)造函數(shù)來實現(xiàn)對實例屬性的繼承。 對js原型和繼承的理解一直處于不懂-懂-不懂-懂-不懂。。。的無限循環(huán)之中,本來打算只是簡單總結(jié)下js繼承方式,可看了些網(wǎng)上的資料后,發(fā)現(xiàn)又不懂繼承了。。。這篇文章只...

    Hujiawei 評論0 收藏0
  • JS基礎(chǔ)(對象創(chuàng)建,構(gòu)造函數(shù)、原型、實例之間關(guān)系,繼承方式)

    摘要:對象創(chuàng)建的三種方式字面量創(chuàng)建方式系統(tǒng)內(nèi)置構(gòu)造函數(shù)方式自定義構(gòu)造函數(shù)構(gòu)造函數(shù)原型實例之間的關(guān)系實例是由構(gòu)造函數(shù)實例化創(chuàng)建的,每個函數(shù)在被創(chuàng)建的時候,都會默認有一個對象。 JS 對象創(chuàng)建的三種方式 //字面量創(chuàng)建方式 var person= { name:jack?。? //系統(tǒng)內(nèi)置構(gòu)造函數(shù)方式 var person= new Object(); person.name = jack; ...

    PAMPANG 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<