导航
×
   ❮   
HTML CSS JavaScript PHP Go Sass W3C Colors ECMS

JS 教程

JS 简介 JS 如何使用 JS 输出 JS 语法 JS 语句 JS 注释 JS 变量 JS 运算符 JS 条件语句 JS 循环 JS 字符串 JS 数字 JS 函数 JS 对象 JS 日期 JS 数组 JS 类型化数组 JS 集合 JS Map 映射 JS Math JS 正则表达式 JS 数据类型 JS 错误 JS 事件 JS 编程 JS 关键字参考 JS 保留关键字参考 JS 运算符参考 JS 运算符优先级 JS UTF-8 字符 JS UTF-8 符号 JS UTF-8 表情符号 JS 版本

JS 高级教程

JS 对象 JS 函数 JS 类 JS 迭代 JS Promises JS 模块

JavaScript 对象原型


所有 JavaScript 对象都从原型继承属性和方法。


在前一章里,我们学到了如何使用对象构造器:

实例

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");
亲自试一试 »

我们已经认识到,您无法为已有的对象构造器添加新属性:

实例

 Person.nationality = "English";
亲自试一试 »

如需向构造器添加一个新属性,则必须把它添加到构造器函数:

实例

function Person(first, last, age, eyecolor) {
   this.firstName = first;
   this.lastName = last;
   this.age = age;
   this.eyeColor = eyecolor;
  this.nationality = "English";
}
亲自试一试 »

原型继承

所有 JavaScript 对象都从原型继承属性和方法。

  • Date 日期对象继承自 Date.prototype
  • Array 数组对象继承自 Array.prototype
  • Person 对象继承自 Person.prototype

Object.prototype 位于原型继承链的顶端:

Date 对象, Array 对象, 和 Person 对象都继承自 Object.prototype


向对象添加属性和方法

有时,您希望向所有给定类型的已有对象添加新属性(或方法)。

有时,您希望向对象构造器添加新属性(或方法)。


使用 >prototype 属性

JavaScript prototype 属性允许您为对象构造器添加新属性:

实例

function Person(first, last, age, eyecolor) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eyecolor;
}

 Person.prototype.nationality = "English";
亲自试一试 »

JavaScript 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 对象的原型。


Copyright ©2020-2026 freew3c.com All Rights Reserved 提供的内容仅用于学习和测试,不保证内容的正确性。