JavaScript 对象原型

admin2年前 (2023-07-06)it知识425

前面有一章提到无法为已有的对象构造器添加新属性

Person.nationality = "English";  //得到的是undefined

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

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

所有的javascript 对象都是重原型集成属性和方法。

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

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

日期对象,数组对象和Person对象都继承自 Object.prototype。

向对象添加属性和方法

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

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

使用prototype 属性

javascript  prototype 属性允许您为构造器添加新属性,新方法

function Person(first, last, age) {
         this.firstName = first;
         this.lastName = last;
         this.age = age;
}
Person.prototype.nationality = "USA"; 
Person.prototype.name = function() {
    return this.firstName + " " + this.lastName;
};


标签: JavaScript
返回列表

上一篇:在树林里

下一篇:《细绳》原文

相关文章

javascript 数组

什么是数组?数组是一个特殊的变量,它能够一次存放一个以上的值。如果你有一个项目清单,在单个变量中存储品牌,那应该是这样字的:var brand1 = "Saab...

JavaScript 数组方法

数组转换成字符串Javascript 方法 toString() 把数组转换为数组值(逗号分隔)的字符串。var fruits = ["banana"...

JavaScript 对象定义

在JavaScript 中,对象是王。如果你理解了对象,就理解了javascript。在Javascript 中,几乎所有事物都是对象。 布尔是对象(如果用new 关键词定义)数字是对象(如...

JavaScript 对象构造器

function Person(first, last, age) {       this.fi...

JavaScript 可迭代对象

可迭代对象时可以使用for..of 进行迭代的对象从技术上讲,可迭代对象必须实现Symbol.iterator方法。遍历字符串你可以使用for..of循环来遍历字符串的元素:for(const&nbs...

JavaScript 最新特征

JavaScript 的最新特征包括以下几个方面:类的私有变量:通过使用 # 符号,可以在类中定义私有变量,只能在类的内部访问,外部无法访问。空位合并操作符:使用 ?? 符号,可以在两项中任一项为 n...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。