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

js 对象继承 Javascript对象继承

2023-06-09 19:18 JavaScript教程

js 对象继承 Javascript对象继承

js 对象继承 Javascript对象继承

js 对象继承

Javascript面向对象设计 - Javascript对象继承


要在对象之间添加继承,指定什么对象应该是新对象“s [[Prototype]]。

要在对象之间添加继承,指定什么对象应该是新对象“s [[Prototype]]。...

我们可以使用Object.create()方法显式指定[[Prototype]]。

我们可以使用Object.create()方法显式指定[[Prototype]]。...

第一个参数是在新对象中用于[[Prototype]]的对象。

第一个参数是在新对象中用于[[Prototype]]的对象。...

例子

以下代码显示了如何在对象之间创建继承。


var book1 = { 
    name : "Javascript", 
    writeLine : function() { //from w w  w  . j a  va2s . c  om
        console.log(this.name); 
    } 
}; 

var book2 = Object.create(book1, { 
    name : { 
        configurable : true, 
        enumerable : true, 
        value : "CSS", 
        writable : true 
    } 
}); 

book1.writeLine();          // outputs "Javascript" 
book2.writeLine();          // outputs "CSS" 

console.log(book1.hasOwnProperty("writeLine"));     // true 
console.log(book1.isPrototypeOf(book2));        // true 
console.log(book2.hasOwnProperty("writeLine"));     // false 

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



注意

要访问超类型方法,我们可以直接访问超类型的方法原型并使用call()或apply()在子类型对象上执行方法。


function Rectangle(length, width) { 
    this.length = length; 
    this.width = width; 
} 

Rectangle.prototype.getArea = function() { 
    return this.length * this.width; 
}; 

Rectangle.prototype.toString = function() { 
    return "[Rectangle " + this.length + "x" + this.height + "]"; 
}; 

// inherits from Rectangle 
function Square(size) { 
    Rectangle.call(this, size, size); 
} 

Square.prototype = Object.create(Rectangle.prototype, { 
                        constructor : { 
                            configurable : true, 
                            enumerable : true, 
                            value : Square, 
                            writable : true 
                        } 
                    }); 

// call the supertype method 
Square.prototype.toString = function() {  
    var text = Rectangle.prototype.toString.call(this); 
    return text.replace("Rectangle", "Square"); 
}; 


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