當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
【JavaScript高级教程】JavaScript prototype(原型对象)
生活随笔
收集整理的這篇文章主要介紹了
【JavaScript高级教程】JavaScript prototype(原型对象)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
所有的 JavaScript 對象都會從一個 prototype(原型對象)中繼承屬性和方法。
function Person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eyecolor; }var myFather = new Person("John", "Doe", 50, "blue"); var myMother = new Person("Sally", "Rally", 48, "green");我們也知道在一個已存在構造器的對象中是不能添加新的屬性,要添加一個新的屬性需要在在構造器函數中添加:
function Person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eyecolor;this.nationality = "English"; }prototype 繼承
所有的 JavaScript 對象都會從一個 prototype(原型對象)中繼承屬性和方法:
- Date?對象從?Date.prototype?繼承。
- Array?對象從?Array.prototype?繼承。
- Person?對象從?Person.prototype?繼承。
所有 JavaScript 中的對象都是位于原型鏈頂端的 Object 的實例。
JavaScript 對象有一個指向一個原型對象的鏈。當試圖訪問一個對象的屬性時,它不僅僅在該對象上搜尋,還會搜尋該對象的原型,以及該對象的原型的原型,依次層層向上搜索,直到找到一個名字匹配的屬性或到達原型鏈的末尾。
Date?對象,?Array?對象, 以及?Person?對象從?Object.prototype?繼承。
添加屬性和方法
有的時候我們想要在所有已經存在的對象添加新的屬性或方法。
另外,有時候我們想要在對象的構造函數中添加屬性或方法。
使用 prototype 屬性就可以給對象的構造函數添加新的屬性:
function Person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eyecolor; }Person.prototype.nationality = "English";當然我們也可以使用 prototype 屬性就可以給對象的構造函數添加新的方法:
function Person(first, last, age, eyecolor) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eyecolor; }Person.prototype.name = function() {return this.firstName + " " + this.lastName; };總結
以上是生活随笔為你收集整理的【JavaScript高级教程】JavaScript prototype(原型对象)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【javascript高级教程】Java
- 下一篇: 【javascript高级教程】Java