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

資訊專欄INFORMATION COLUMN

JavaScript原型及原型鏈

SKYZACK / 1584人閱讀

摘要:原型及原型鏈區(qū)別一下,普通對象和函數(shù)對象。原型的作用就是繼承。原型鏈在創(chuàng)建對象不論是普通對象還是函數(shù)對象的時候,都有一個叫做的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對象的原型對象??偨Y(jié)一下事實證明,真正起作用的不是,而是。

JavaScript原型及原型鏈

區(qū)別一下,普通對象和函數(shù)對象。函數(shù)對象才有prototype屬性。

函數(shù)對象:

</>復(fù)制代碼

  1. function f1(){};
  2. var f2 = function(){};
  3. var f3 = new Function("str","console.log(str)");

普通對象:

</>復(fù)制代碼

  1. var o3 = new f1();
  2. var o1 = {};
  3. var o2 =new Object();

簡單的說,凡是通過 new Function() 創(chuàng)建的對象都是函數(shù)對象,其他的都是普通對象。
原型的作用就是繼承。

原型鏈:
JS在創(chuàng)建對象(不論是普通對象還是函數(shù)對象)的時候,都有一個叫做__proto__的內(nèi)置屬性,用于指向創(chuàng)建它的函數(shù)對象的原型對象prototype。
原型對象prototype中都有個預(yù)定義的constructor屬性,用來引用它的函數(shù)對象。

</>復(fù)制代碼

  1. person.prototype. constructor === person //true
  2. Function.prototype.constructor === Function //true
  3. Object.prototype.constructor === Object //true

總結(jié)一下:

</>復(fù)制代碼

  1. var animal = function(){};
  2. var dog = function(){};
  3. animal.price = 2000;//
  4. dog.prototype = animal;
  5. var tidy = new dog();
  6. console.log(dog. price) //undefined
  7. console.log(tidy.price) // 2000

事實證明,真正起作用的不是prototype ,而是__proto__。

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

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

相關(guān)文章

  • javaScript原型原型詳解(二)

    摘要:當(dāng)然這還沒完,因為我們還有重要的一步?jīng)]完成,沒錯就是上面的第行代碼,如果沒有這行代碼實例中的指針是指向構(gòu)造函數(shù)的,這樣顯然是不對的,因為正常情況下應(yīng)該指向它的構(gòu)造函數(shù),因此我們需要手動更改使重新指向?qū)ο蟆? 第一節(jié)內(nèi)容:javaScript原型及原型鏈詳解(二) 第一節(jié)中我們介紹了javascript中的原型和原型鏈,這一節(jié)我們來講利用原型和原型鏈我們可以做些什么。 普通對象的繼承 ...

    widuu 評論0 收藏0
  • javaScript原型原型詳解(一)

    摘要:執(zhí)行行代碼,我們可以看到控制臺打印出來的結(jié)果如下結(jié)果印證了我們上面講的內(nèi)容指向的構(gòu)造函數(shù)指向的原型對象原型對象中指向構(gòu)造函數(shù)。 在javascript中原型和原型鏈機(jī)制是最難懂的部分(沒有之一),同時也是最重要的部分,在學(xué)習(xí)的過程中你可能認(rèn)認(rèn)真真的看了一遍但還是完全不懂書上說的什么,的確是這樣的,我在學(xué)習(xí)的時候可是反復(fù)看了4、5遍才初步理解了。 下面我把我的理解總結(jié)了一下希望對你們有...

    springDevBird 評論0 收藏0
  • JavaScript原型原型

    摘要:每個原型對象都有一個屬性指向關(guān)聯(lián)的構(gòu)造函數(shù)為了驗證這一說話,舉個例子。 本文共 1475 字,讀完只需 6 分鐘 一、概述 在 JavaScript 中,是一種面向?qū)ο蟮某绦蛟O(shè)計語言,但是 JS 本身是沒有 類 的概念,JS 是靠原型和原型鏈實現(xiàn)對象屬性的繼承。 在理解原型前,需要先知道對象的構(gòu)造函數(shù)是什么,構(gòu)造函數(shù)都有什么特點(diǎn)? 1. 構(gòu)造函數(shù) // 構(gòu)造函數(shù) Person() ...

    liaosilzu2007 評論0 收藏0
  • 淺談javascript原型原型

    摘要:在中,主要有兩種創(chuàng)建對象的方法分別是對象字面量以及調(diào)用構(gòu)造函數(shù)對象字面量調(diào)用構(gòu)造函數(shù)其實上述兩種創(chuàng)建對象的方法,本質(zhì)上是一樣的,都是引擎調(diào)用對象的構(gòu)造函數(shù)來新建出一個對象。 原型與原型鏈?zhǔn)莏avascript里面最最核心的內(nèi)容,如果不能理解它們之間的存在關(guān)系的話,那么我們是不能理解這門語言的。 在JS中,主要有兩種創(chuàng)建對象的方法, 分別是對象字面量以及調(diào)用構(gòu)造函數(shù) //對象字面量 va...

    includecmath 評論0 收藏0
  • JavaScript 的繼承方式優(yōu)缺點(diǎn)

    摘要:繼承簡介在的中的面向?qū)ο缶幊蹋^承是給構(gòu)造函數(shù)之間建立關(guān)系非常重要的方式,根據(jù)原型鏈的特點(diǎn),其實繼承就是更改原本默認(rèn)的原型鏈,形成新的原型鏈的過程。 showImg(https://segmentfault.com/img/remote/1460000018998684); 閱讀原文 前言 JavaScript 原本不是純粹的 OOP 語言,因為在 ES5 規(guī)范中沒有類的概念,在 ...

    nanchen2251 評論0 收藏0

發(fā)表評論

0條評論

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