js的继承实现方式

1. 使用call或者apply来实现js对象继承

     function Animal(age){
            this.age = age;
            this.say = function(){
                console.log(‘age:‘+this.age);
            };
        }
        function Dog(age,nickname){
            Animal.call(this,age);
            // Animal.apply(this,[age]);
            this.nickname = nickname;
            this.say = function(){
                console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
            };
        }
        var animal = new Animal(11);
        var dog = new Dog(12,‘dog‘);
        animal.say();
        dog.say();        

2. 使用原型链来实现js继承;

     function Animal(){}
        Animal.prototype.age = 11;
        Animal.prototype.say = function(){
            console.log(‘age:‘+this.age);
        };
        function Dog(){}
        Dog.prototype = new Animal();
        Dog.prototype.nickname = ‘dog‘;
        Dog.prototype.say =    function(){
            console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
        };
        var animal = new Animal();
        var dog = new Dog();
        animal.say();
        dog.say();

3. 使用原型链和apply混合实现。

     function Animal(age){
            this.age = age;
        }
        Animal.prototype.say = function(){
            console.log(‘age:‘+this.age);
        };
        function Dog(age,nickname){
            Animal.call(this,age);
            // Animal.apply(this,[age]);
            this.nickname = nickname;
        }
        Dog.prototype.say =    function(){
            console.log(‘nickname:‘+this.nickname+‘,age:‘+this.age);
        };
        var animal = new Animal(11);
        var dog = new Dog(12,‘dog‘);
        animal.say();
        dog.say();
时间: 2024-11-08 09:19:06

js的继承实现方式的相关文章

js实现继承的5种方式

js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现继承有以下通用的几种方式1.使用对象冒充实现继承(该种实现方式可以实现多继承)实现原理:让父类的构造函数成为子类的方法,然后调用该子类的方法,通过this关键字给所有的属性和方法赋值 Js代码   function Parent(firstname) { this.fname=firstname; this.age=40; this.sayAge=func

JS 继承的方式

JS 继承的方式 1.使用call的方式 2. code如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script type="text/javascript"> //继承的第二种实

JS对象继承的几种方式总结

今天学习了一下js的继承,js中的继承主要分四种,原型继承,构造函数继承,call/apply继承以及es6的extend继承.1.原型继承:原型继承主要利用js对象的prototype引用父类的构造函数来复制父类的方法. //定义一个Person类 function Person(name){ this.name=name; } //打招呼 Person.prototype.sayHello=function(){ alert("Hello,my name is "+this.nam

js实现继承的几种方式

1.call(),apply()方法实现继承 call方法的第一个参数的值赋值给类(即方法)中出现的this call方法的第二个参数开始依次赋值给类(即方法)所接受的参数 apply方法的第一个参数和call相同,第二个参数为数组类型,这个数组中的每个元素依次赋值给类(即方法)所接受的参数 function animal(username){ this.username = username; this.sayHello = function(){ alert(this.username);

js中继承的几种用法总结(apply,call,prototype)

本篇文章主要介绍了js中继承的几种用法总结(apply,call,prototype) 需要的朋友可以过来参考下,希望对大家有所帮助 一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 <SPAN style="<SPAN style="FONT-SIZE: 18px"><html>   <body>  <script type="text/javascript"> 

JS对象继承篇

JS对象继承篇 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的 原型链 其基本思路是利用原型让一个引用类型继承另一个引用类型的属性和方法 function Person(){ this.name = "Person"; } Person.prototype.getName = function(){ return this.name; }; function SuperPerson(name,sex){ this.name = name; this.sex

JS 类继承 原型继承

参考文档:JS原型继承和类继承 <script src="jquery-2.0.3.js"> </script> <script> /*//类继承 var father=function(){ this.age=53; this.say=function(){ console.log("name:"+this.name+",age:"+this.age); } }; var child=function(){

js:深入继承

/** * js实现继承: * 1.基于原型链的方式 * 2.基于伪造的方式 * 3.基于组合的方式 */ 一.基于原型链的方式 function Parent(){ this.pv = "parent"; } Parent.prototype.showParentValue = function(){ console.log(this.pv); } function Child(){ this.cv = "child"; } //让Child的原型链指向Paren

浅谈JS的继承

JS继承 继承是OO语言中最为人津津乐道的概念,许多OO语言都支持两种方式的继承:接口继承:实现继承. 接口继承:只继承方法签名. 实现继承:继承实际的方法. 由于ES里函数没有签名,所以在ES里面无法实现接口继承,ES只支持实现继承.