美文网首页
由js继承想到的

由js继承想到的

作者: allenleeok | 来源:发表于2017-05-25 11:49 被阅读0次

借用构造函数

创建一个名为Parents构造函数

function Parents(name){
  this.name = name;
  this.sayName = function(){
    console.log(this.name);
  }
}

创建一个名为Children的构造函数,用来继承Parents的属性

function Children(name){
  Parents.call(this, name);   // allen
}

创建实例对象,并调用sayName方法

var child = new Children('allen');
child.sayName();

这里我们修改一下Children,看看会输出什么

function Children(name){
  // Parents.call(this, name);  //allen
  // Parents.call(this, arguments);  //{ '0': 'allen' }
  // Parents.call(this, Array.prototype.slice.call(arguments));  //[ 'allen' ]
  // Parents.apply(this, name);  //报错
  // Parents.apply(this, [name])  //allen
  // Parents.apply(this, arguments)  //allen
  Parents.apply(this, Array.prototype.slice.call(arguments));  //allen
}

参照apply和call方法的区别,上面的结果就显而易见了。
如果我们把Children的参数修改为rest参数,结果就会有新的不同

写累了,未完待续。。。

相关文章

  • 由js继承想到的

    借用构造函数 创建一个名为Parents构造函数 创建一个名为Children的构造函数,用来继承Parents的...

  • 夯基础-手撕js继承

    提到JS继承,你首先想到的什么? 面试 继承方式 优缺点...,js继承作为曾经的苦主,我看了忘,忘了看,看了又忘...

  • Js的继承

    js的继承 @(js)[继承, js, 前端] 组合继承是原性链继承和构造函数继承的合体,它汲取了二者各自的有点,...

  • $14 表单脚本

    1. 表单基础知识: 在HTML中,表单由 表示;在JS中,表单由HTMLFormElement类型表示,它继承了...

  • JS继承

    JS中的继承 许多OO语言都支持两种继承方式:接口继承和实现继承; 因为JS中没有类和接口的概念 , 所以JS不支...

  • #js继承

    js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承)类式继承(构造函数间的继承) 类式继承是...

  • js继承遇到的小问题

    这两天在看js继承方面,它不像OC那种传统的类继承。js继承方式还是挺多的。比如:原型继承、原型冒充、复制继承 原...

  • JS中继承的实现

    JS中继承的实现 #prototype (js原型(prototype)实现继承) 全局的Function对象没有...

  • JavaScript 10

    js继承的概念 1.通过原型链方式实现继承(对象间的继承) 2.类式继承(构造函数间的继承) 由于js不像Java...

  • js继承

    js继承js 继承-简书 原型链实现集继承 上面的代码实现原型链继承最重要的son.prototype=new f...

网友评论

      本文标题:由js继承想到的

      本文链接:https://www.haomeiwen.com/subject/tnvaxxtx.html