zoukankan      html  css  js  c++  java
  • Javascript 继承 call与prototype

    function Parent(hello){
        this.hello = hello;
        this.sayHello = function(){
        alert(this.hello);
    }
    }
    Parent.prototype.sayHello2 = function(){
        alert(this.hello + " Good Morning!");
    }
    
    function Child1(hello,world){
        Parent.call(this,hello);
        this.world = world;
    }
    
    Child1.prototype = new Parent();
    
    Child1.prototype.sayHelloToo = function(){
        alert(this.hello);
    }
    
    
    var childOne = new Child1("zhangsan","lisi");
    childOne.sayHello();
    childOne.sayHello2();
    childOne.sayHelloToo();

    总结:call 不能继承父类prototype方法和属性,可继承“构造函数“中的属性(this.hello = hello;);

       prototype 不能继承父类“构造函数“中的属性(this.hello = hello;),方法可以继承,prototype的属性和方法全继承;

       call理解:call 方法可以用来代替另一个对象调用一个方法,

           obj1.method1.call(obj2,argument1,argument2) 
           如上,call的作用就是把obj1的方法放到obj2上使用(即obj2代替obj1,obj2从此可以调用obj1的方法了,继承就在这里实现的),后面的argument1..这些做为参数传入. 

  • 相关阅读:
    脏读一
    Tomcat7基于Redis的Session共享实战二
    Tomcat7基于Redis的Session共享实战一
    SQL优化经验
    Java Collections.sort方法对list集合排序
    Redis应用场景一
    Redis 发布订阅用法
    关于消息队列的使用
    Mysql日常开发注意要点
    中药处方
  • 原文地址:https://www.cnblogs.com/vvonline/p/4306012.html
Copyright © 2011-2022 走看看