编辑这个页面须要登录或更高权限!

JavaScript 对象原型

原型是一种机制,JavaScript对象通过该机制彼此继承特征。

在上一章中,我们学习了如何使用构造函数

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
}

var Seagull = new User("Seagull", "Anna", 22, "New Delhi");
var tarush = new User("Tarush", "Balodhi", 34, "Bihar");
测试看看‹/›

我们还了解到不能将新属性添加到现有的对象构造函数中:

User.weapon = "Sword";
测试看看‹/›

要向构造函数添加新属性,必须将其添加到构造函数中:

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
   this.weapon = "Sword";
}
测试看看‹/›

有时我们想在后期向构造函数添加新的属性和方法,该构造函数将在所有对象(示例)之间共享。答案是对象原型

使用原型属性

prototype属性使您可以向构造函数添加属性和方法。

在此示例中,该prototype属性允许您向User对象构造函数添加新属性:

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
}

User.prototype.weapon = "Sword";
测试看看‹/›

在此示例中,该prototype属性允许您向User对象构造函数添加新方法:

function User(fname, lname, age, loc) {
   this.firstName = fname;
   this.lastName = lname;
   this.age = age;
   this.location = loc;
}

User.prototype.fullName = function() {
return this.firstName + " " + this.lastName;
};
测试看看‹/›

注意:仅修改您自己的原型。切勿修改标准(内置)JavaScript对象的原型。

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册