国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

原型模式

Alfred / 2328人閱讀

摘要:在默認(rèn)情況下所有原型對象都會自動獲得一個構(gòu)造函數(shù)屬性,這個屬性包含一個指向?qū)傩运诤瘮?shù)的指針。原型與操作符通過對象能夠訪問給定屬性時返回,無論實在實例中還是原型中。通過此方法可以取得對象上所有可枚舉的實例屬性。

prototype
我們創(chuàng)建的每個函數(shù)都有一個prototype(原型)屬性,這個屬性時一個指針,指向一個對象(函數(shù)的原型對象),這個對象的用途是可以由特定類型的所有實例共享屬性和方法。在默認(rèn)情況下所有原型對象都會自動獲得一個constructor(構(gòu)造函數(shù))屬性,這個屬性包含一個指向prototype屬性所在函數(shù)的指針。
function Person(){
};
Person.prototype.name = "jeck";
Person.prototype.sayName = function(){
    console.log(this.name)
};
var p1 = new Person("jeck", 13);
p1.sayName();            //jeck
var p2 = new Person("andy", 22);
p2.sayName();            //jeck

Person.prototype指向原型對象
Person.prototype.constructor又返回指向Person

hasOwnProperty()
檢測一個屬性是否存在于實例中,還是存在于原型中。
function Person(){};
Person.prototype.name = "jeck";
var person1 = new Person();
person1.hasOwnProperty("name");        //false
person1.name = "andy";
person1.hasOwnProperty("name");        //true
原型與in操作符
通過對象能夠訪問給定屬性時返回true,無論實在實例中還是原型中。
Object.keys()
通過此方法可以取得對象上所有可枚舉的實例屬性。
function Person(){};
Person.prototype.name = "jeck";
Person.prototype.age= "12";
Person.prototype.sex= "M";
console.log(Object.keys(Person.prototype));    //[name age sex]
var person1 = new Person();
person1.name = "andy";
console.log(Object.keys(person1));    //[name]

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/79375.html

相關(guān)文章

  • 理解JavaScript的核心知識點:原型

    摘要:首先,需要來理清一些基礎(chǔ)的計算機編程概念編程哲學(xué)與設(shè)計模式計算機編程理念源自于對現(xiàn)實抽象的哲學(xué)思考,面向?qū)ο缶幊淌瞧湟环N思維方式,與它并駕齊驅(qū)的是另外兩種思路過程式和函數(shù)式編程。 JavaScript 中的原型機制一直以來都被眾多開發(fā)者(包括本人)低估甚至忽視了,這是因為絕大多數(shù)人沒有想要深刻理解這個機制的內(nèi)涵,以及越來越多的開發(fā)者缺乏計算機編程相關(guān)的基礎(chǔ)知識。對于這樣的開發(fā)者來說 J...

    iKcamp 評論0 收藏0
  • JS函數(shù)的工廠模式、構(gòu)造函數(shù)模式原型模式的區(qū)別

    摘要:于是就有了構(gòu)造函數(shù)和原型模式混合模式組合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建自定義類型最常見的方式,就是組合模式。 創(chuàng)建對象 JS有六種數(shù)據(jù)數(shù)據(jù)類型,其中五種屬于基本數(shù)據(jù)類型:Null、Boolean、undefined、String、Number。而其它值都是對象。數(shù)組是對象,函數(shù)是對象,正則表達式是對象。對象也是對象。 來看一下對象的定義: 無序?qū)傩缘募希鋵傩钥梢园局怠ο蟆⒒?..

    william 評論0 收藏0
  • 讀《javaScript高級程序設(shè)計-第6章》之封裝類

    摘要:創(chuàng)建構(gòu)造函數(shù)后,其原型對象默認(rèn)只會取得屬性至于其他的方法都是從繼承來的。上圖展示了構(gòu)造函數(shù)的原型對象和現(xiàn)有的兩個實例之間的關(guān)系。所有原生的引用類型都在其構(gòu)造函數(shù)的原型上定義了方法。 第6章我一共寫了3篇總結(jié),下面是相關(guān)鏈接:讀《javaScript高級程序設(shè)計-第6章》之理解對象讀《javaScript高級程序設(shè)計-第6章》之繼承 工廠模式 所謂的工廠模式就是,把創(chuàng)建具體對象的過程抽象...

    seal_de 評論0 收藏0
  • JS基礎(chǔ)之?dāng)?shù)據(jù)類型、對象、原型原型鏈、繼承

    摘要:就是通過調(diào)用構(gòu)造函數(shù)而創(chuàng)建的那個對象實例的原型對象。構(gòu)造函數(shù)模式可以創(chuàng)建自定義引用類型,可以像創(chuàng)建內(nèi)置對象實例一樣使用操作符。 數(shù)據(jù)類型: 簡單數(shù)據(jù)類型:Undefined、Null、String、Number、Boolean、Symbol 復(fù)雜數(shù)據(jù)類型:Object // Undefined:聲明,但未初始化 // Null:空對象指針 typeof操作符(檢測基本數(shù)據(jù)類型): ...

    LucasTwilight 評論0 收藏0
  • JavaScript_高程三_02

    摘要:實例中的指針僅指向原型,而不指向構(gòu)造函數(shù)。調(diào)用構(gòu)造函數(shù)時會為實例添加一個指向最初原型的或者而把原型修改為另外一個對象就等于切斷了構(gòu)造函數(shù)與最初原型之間的聯(lián)系。 面向?qū)ο蟮某绦蛟O(shè)計 ECMA-262定義對象:無序?qū)傩缘募希鋵傩钥梢园局担瑢ο蠡蛘吆瘮?shù)。普通理解:對象是一組沒有特定順序的值。對象的每個屬性或方法都有一個名字,而每個名字都映射一個值。 每個對象都是基于一個引用類型創(chuàng)建...

    hidogs 評論0 收藏0
  • 理解js對象

    摘要:將構(gòu)造函數(shù)的作用域賦值給新對象因此指向了新對象執(zhí)行構(gòu)造函數(shù)的代碼為這個新對象添加屬性返回對象最初是用來標(biāo)識對象類型的。但提到檢測對象類型,還是使用將構(gòu)造函數(shù)當(dāng)作函數(shù)構(gòu)造函數(shù)與其他函數(shù)唯一區(qū)別。 創(chuàng)建對象 雖然Object構(gòu)造函數(shù)與對象字面量都能創(chuàng)建單個對象, 但這些方式都有明顯的缺點: 使用同一個接口創(chuàng)建很多對象, 會產(chǎn)生大量重復(fù)代碼。 var obj = {}; //對象字面量 va...

    zhouzhou 評論0 收藏0

發(fā)表評論

0條評論

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