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..这些做为参数传入. 

  • 相关阅读:
    Word中封面的问题
    UML问题
    《十八岁的天空》有感
    SPSS相关和回归分析
    WinForm自定义验证控件
    .NET常用的扩展方法整理
    C# 对JS编码/解码进行转换
    Jquery AJAX 调用WebService服务
    多条件动态LINQ 组合查询
    Visual studio 2008 的语法高亮插件 WordLight
  • 原文地址:https://www.cnblogs.com/vvonline/p/4306012.html
Copyright © 2011-2022 走看看