您好,登錄后才能下訂單哦!
這篇文章主要介紹“JavaScript中原型及原型鏈的介紹”,在日常操作中,相信很多人在JavaScript中原型及原型鏈的介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript中原型及原型鏈的介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
原型對象
原型對象:我們創建的每個函數都會有一個 prototype(原型)屬性,這個屬性是一個指針,指向一個對象,這個對象就是通過調用構造函數而創建的那個對象實例的原型對象。
簡單來說,無論什么時候,只要創建一個新的函數,就會為該函數創建一個prototype屬性,這個屬性指向函數的原型對象。
// 構造函數 Person
function Person() {
};
// 原型添加屬性
Person.prototype.name = 'Tom';
Person.prototype.sayName = function () {
alert(this.name);
};
// 創建實例
var person1 = new Person();
person1.sayName(); // Tom
// prototype屬性指向函數的原型對象
console.log(Person.prototype); // {name: "Tom", sayName: ?, constructor: ?}
123456789101112131415161718
原型對象的用途:包含可以由特定類型的所有實例共享的屬性和方法。
使用原型對象的好處:可以讓所有實例共享它所包含的屬性和方法。
constructor:所有的原型對象都會有一個constructor屬性,這個屬性是一個指向prototype屬性所在函數的指針,也就是指向與之關聯的構造函數。
// constructor屬性指向與之關聯的構造函數 鄭州祛胎記治療價錢 http://www.zykdbhk
console.log(Person.prototype.constructor); // ? Person() { }
console.log( Person.prototype.constructor === Person ); // true
__proto__:當調用構造函數創建一個新實例后,該實例內部將包含一個指針__proto__,指向構造函數的原型對象。__proto__屬性存在于實例與構造函數的原型對象之間。
// __proto__屬性指向該構造函數的原型對象
console.log( person1.__proto__ ); // {name: "Tom", sayName: ?, constructor: ?}
console.log( person1.__proto__ === Person.prototype ); // true
到此,關于“JavaScript中原型及原型鏈的介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。