摘要:原型及原型鏈區別一下,普通對象和函數對象。原型的作用就是繼承。原型鏈在創建對象不論是普通對象還是函數對象的時候,都有一個叫做的內置屬性,用于指向創建它的函數對象的原型對象。總結一下事實證明,真正起作用的不是,而是。
JavaScript原型及原型鏈
區別一下,普通對象和函數對象。函數對象才有prototype屬性。
函數對象:
function f1(){}; var f2 = function(){}; var f3 = new Function("str","console.log(str)");
普通對象:
var o3 = new f1(); var o1 = {}; var o2 =new Object();
簡單的說,凡是通過 new Function() 創建的對象都是函數對象,其他的都是普通對象。
原型的作用就是繼承。
原型鏈:
JS在創建對象(不論是普通對象還是函數對象)的時候,都有一個叫做__proto__的內置屬性,用于指向創建它的函數對象的原型對象prototype。
原型對象prototype中都有個預定義的constructor屬性,用來引用它的函數對象。
person.prototype. constructor === person //true Function.prototype.constructor === Function //true Object.prototype.constructor === Object //true
總結一下:
var animal = function(){}; var dog = function(){}; animal.price = 2000;// dog.prototype = animal; var tidy = new dog(); console.log(dog. price) //undefined console.log(tidy.price) // 2000
事實證明,真正起作用的不是prototype ,而是__proto__。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/78281.html
摘要:當然這還沒完,因為我們還有重要的一步沒完成,沒錯就是上面的第行代碼,如果沒有這行代碼實例中的指針是指向構造函數的,這樣顯然是不對的,因為正常情況下應該指向它的構造函數,因此我們需要手動更改使重新指向對象。 第一節內容:javaScript原型及原型鏈詳解(二) 第一節中我們介紹了javascript中的原型和原型鏈,這一節我們來講利用原型和原型鏈我們可以做些什么。 普通對象的繼承 ...
摘要:執行行代碼,我們可以看到控制臺打印出來的結果如下結果印證了我們上面講的內容指向的構造函數指向的原型對象原型對象中指向構造函數。 在javascript中原型和原型鏈機制是最難懂的部分(沒有之一),同時也是最重要的部分,在學習的過程中你可能認認真真的看了一遍但還是完全不懂書上說的什么,的確是這樣的,我在學習的時候可是反復看了4、5遍才初步理解了。 下面我把我的理解總結了一下希望對你們有...
摘要:每個原型對象都有一個屬性指向關聯的構造函數為了驗證這一說話,舉個例子。 本文共 1475 字,讀完只需 6 分鐘 一、概述 在 JavaScript 中,是一種面向對象的程序設計語言,但是 JS 本身是沒有 類 的概念,JS 是靠原型和原型鏈實現對象屬性的繼承。 在理解原型前,需要先知道對象的構造函數是什么,構造函數都有什么特點? 1. 構造函數 // 構造函數 Person() ...
摘要:在中,主要有兩種創建對象的方法分別是對象字面量以及調用構造函數對象字面量調用構造函數其實上述兩種創建對象的方法,本質上是一樣的,都是引擎調用對象的構造函數來新建出一個對象。 原型與原型鏈是javascript里面最最核心的內容,如果不能理解它們之間的存在關系的話,那么我們是不能理解這門語言的。 在JS中,主要有兩種創建對象的方法, 分別是對象字面量以及調用構造函數 //對象字面量 va...
摘要:繼承簡介在的中的面向對象編程,繼承是給構造函數之間建立關系非常重要的方式,根據原型鏈的特點,其實繼承就是更改原本默認的原型鏈,形成新的原型鏈的過程。 showImg(https://segmentfault.com/img/remote/1460000018998684); 閱讀原文 前言 JavaScript 原本不是純粹的 OOP 語言,因為在 ES5 規范中沒有類的概念,在 ...
閱讀 3460·2019-08-30 13:15
閱讀 1400·2019-08-29 18:34
閱讀 822·2019-08-29 15:18
閱讀 3480·2019-08-29 11:21
閱讀 3246·2019-08-29 10:55
閱讀 3688·2019-08-26 10:36
閱讀 1868·2019-08-23 18:37
閱讀 1816·2019-08-23 16:57