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

資訊專欄INFORMATION COLUMN

深入挖掘js之繼承

zxhaaa / 2504人閱讀

摘要:一偽類當一個函數對象被創建時,構造器產生的函數對象會運行類似這樣的代碼新函數對象被賦予了一個屬性,他的值是一個包含屬性且屬性值為該新函數的對象。這個對象是存放繼承特征的地方。

一、偽類

當一個函數對象被創建時,Function構造器產生的函數對象會運行類似這樣的代碼:

this.prototype = { constructor: this};

新函數對象被賦予了一個prototype屬性,他的值是一個包含constructor屬性且屬性值為該新函數的對象。這個prototype對象是存放繼承特征的地方。

Function.method("new",function(){
    //創建一個新對象,它繼承自構造函數的原型對象
    var that = Object.create(this.prototype);
    // 調用構造函數,綁定-this-到新對象上
    var other = this.apply(that,arguments);
    //如果返回值不是一個對象,就返回該新對象
    return (typeof other ==="object"&&other)||that;
})

我們定義一個構造器來擴充它的原型

var Mammal = function(name){
    this.name=name;
};
Mammal.prototype.get_name = function(){
    return this.name;
};
Mammal.prototype.says = function(){
    return this.saying || "";
}

現在我們構造一個實例

var myMammal = new Mammal("hello world!");
var name = myMammal.get_name();

我們構造一個偽類來繼承Mammal,通過定義它的constructor函數并替換他的prototype為一個Mamma

var Cat = function(name){
    this.name =name;
    this.saying= "meow";
}

替換Cat.prototype為一個新的Mammal實例

Cat.prototype =new Mammal();

擴充新原型對象增加get_name方法

Cat.prototype.get_name = function(){
    return this.says()+""+this.name+""+this.says();
};
var myCat =new Cat("wsm");
var says = myCat.says();
var name= myCat.get_name();
二、原型

構造一個有用的對象開始,接著可以構造更多和那個對象類似的對象。

Object.create方法構造更多的實例
三、函數化

運用模塊模式的繼承模式去保護隱私。

1、創建一個新對象,可以通過構造一個對象字面量或者和new淺醉連用去調用一個構造函數,或者使用Object.create構造一個已經存在的對象的新實例,或者調用任意一個會韓慧一個對象的函數

2、有選擇的定義私有實例變量和方法。

3、給這個新對象擴充方法。

4、返回那個新對象

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/107680.html

相關文章

  • 深入挖掘js函數

    摘要:通過可取可取的他們所屬對象的上下文的方法稱為公共方法函數調用模式當一個函數并非一個對象的屬性時,那么它就是被當做一個函數來調用的,以此模式調用函數,被綁定到了全局對象。 前言: 前端這兩年的新技術鋪天蓋地,各種框架、工具層出不窮眼花繚亂。最近打算好好復習下 js 基礎,夯實的基礎才是學習新技術的基石。本文作為讀書筆記簡單的總結下 js 函數的基礎知識。 一、函數對象 JavaScr...

    douzifly 評論0 收藏0
  • 深入理解JavaScript

    摘要:深入之繼承的多種方式和優缺點深入系列第十五篇,講解各種繼承方式和優缺點。對于解釋型語言例如來說,通過詞法分析語法分析語法樹,就可以開始解釋執行了。 JavaScript深入之繼承的多種方式和優缺點 JavaScript深入系列第十五篇,講解JavaScript各種繼承方式和優缺點。 寫在前面 本文講解JavaScript各種繼承方式和優缺點。 但是注意: 這篇文章更像是筆記,哎,再讓我...

    myeveryheart 評論0 收藏0
  • 深入挖掘js作用域閉包

    摘要:前提中閉包無處不在,你只需要能夠識別并擁有它。一實質問題當函數可以記住并訪問所在的詞法作用域是,就產生了閉包。依然持有該作用域的引用。延遲函數的回調會在循環結束時才執行。每個延遲函數都會講在每次迭代中創建的作用域封閉起來。 前提:JavaScript中閉包無處不在,你只需要能夠識別并擁有它。閉包是基于詞法作用域書寫代碼時自然產生的結果。 一、實質問題 當函數可以記住并訪問所在的詞法作用...

    xiangchaobin 評論0 收藏0
  • 深入挖掘js數組

    摘要:對象字面量數組運行數組包括任意混合類型的數組。屬性的值是這些數組的最大整數屬性名加上。它等于數組里的屬性的個數。可以使用向數組中增加元素,也可以用方式加入到數組中。六指定初始值數組通常不會預置頂。 一、數組字面量 數組字面量提供了一種非常方便的創建數組的表達法。 一個數組字面量是在一對方括號中包圍零個或多個用逗號分隔的值的表達式。 對象字面量數組: var numbers_obje...

    shleyZ 評論0 收藏0
  • 深入理解 Javascript 繼承

    摘要:繼承繼承子類可以使用父類的所有功能,并且對這些功能進行擴展。類繼承父類父類添加共有方法子類繼承父類子類添加共有方法其中最核心的一句代碼是將原型指向了父類的原型對象。 繼承 繼承:子類可以使用父類的所有功能,并且對這些功能進行擴展。繼承的過程,就是從一般到特殊的過程。 類繼承 // 父類 var supperClass = function() { var id = 1; thi...

    wuyangnju 評論0 收藏0

發表評論

0條評論

zxhaaa

|高級講師

TA的文章

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