举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > javascript继承原理 Javascript继承

javascript继承原理 Javascript继承

2023-06-10 19:18 JavaScript教程

javascript继承原理 Javascript继承

javascript继承原理 Javascript继承

javascript继承原理

Javascript面向对象设计 - Javascript继承


对象之间发生的JavaScript继承是通过原型完成的。

JavaScript的内置继承方法称为原型链,或原型遗传。

对象实例从原型继承属性。

这是原型链:一个对象继承自它的原型,而该原型继而从其原型继承,等等。

所有对象都自动继承自Object除非另有规定。

所有对象都继承自Object.prototype。

通过对象字面量定义的任何对象的[[Prototype]]设置为Object.prototype。


var book = { 
    title : "JavaScript" 
}; 

var prototype = Object.getPrototypeOf(book); 

console.log(prototype === Object.prototype);        // true 



方法从Object.prototype继承

在过去几章中使用的几种方法是在Object.prototype上定义,因此被所有其他对象继承。

这些方法是:

描述 描述
hasOwnProperty() 确定是否存在具有给定名称的自有属性
propertyIsEnumerable() 确定自己的属性是否是可枚举的
isPrototypeOf() 确定对象是否是另一个的原型
valueOf() 返回对象的值表示形式
toString() 返回对象的字符串表示形式

这五个方法都是从Object。



的价值()

每当在对象上使用运算符时,就会调用valueOf()方法。

默认情况下,valueOf()返回对象实例。

原始包装器类型覆盖valueOf(),以便它返回一个字符串forString,布尔值的布尔值和Number的数字。

Date对象的valueOf()方法返回以毫秒为单位的历元时间。

以下代码显示如何在与比较运算符一起使用时调用valueOf()方法。


var now = new Date(); 
var earlier = new Date(2010, 1, 1); 

console.log(now > earlier);         // true 

上面的代码生成以下结果。

toString()

上面的代码生成以下结果。...

每当JavaScript期望一个字符串时,它也会对原语值进行隐式调用。

每当JavaScript期望一个字符串时,它也会对原语值进行隐式调用。...


var book = { 
    title : "JavaScript" 
 }; 

var message = "Book = " + book; 
console.log(message);               // "Book = [object Object]" 

var book = { 
    title : "JavaScript", 
    toString : function() { 
        return "[Book " + this.title + "]" 
    } 
}; 

var message = "Book = " + book; 
console.log(message); 

上面的代码生成以下结果。

修改Object.prototype

默认情况下,所有对象从Object.prototype继承,因此对Object的更改会影响所有对象。


Object.prototype.add = function(value) { 
    return this + value; 
}; 

var book = { 
    title : "Javascript" 
}; 

console.log(book.add(5));           
console.log("title".add("end"));    

上面的代码生成以下结果。

阅读全文
以上是编程学为你收集整理的javascript继承原理 Javascript继承全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部