首页 > Web开发 > 详细

JS高级(三)

时间:2019-09-27 20:45:45      阅读:113      评论:0      收藏:0      [点我收藏+]

属性的继承

  • call方法 : 把父类的this指向子类的this

方法的继承

  • 实现方法:把父类的实例对象保存给子类的原型对象

  • 父类的实例对象赋值给子类的原型对象,然后指回构造函数

  • 一般情况下,对象的方法都在构造函数的原型对象中设置,通过构造函数无法继承父类方法。核心原理:
    
    ①将子类所共享的方法提取出来,让子类的prototype 原型对象= new 父类()  
    
    ②本质:子类原型对象等于是实例化父类,因为父类实例化之后另外开辟空间,就不会影响原来父类原型对象
    
    ③将子类的constructor指回子类的构造函数
    function Father() {
    }
    Father.prototype.sing = function () {
      console.log('唱');
    };
    function Son() {
    }
    // 这个赋值的是地址,公用一个空间,改一个就全改
    // Son.prototype = Father.prototype;
    
    // 父类的实例对象赋值给子类的原型对象,然后指回构造函数
    // 单独new一个空间给Son用{
    Son.prototype = new Father();
    Son.prototype.constructor = Son;
    Son.prototype.dance = function () {
      console.log('tiao');
    };
    var obj = new Son();
    obj.sing();
    obj.dance();
    console.log(Son.prototype);
    console.log(Father.prototype);
    • 属性继承,方法继承

      • 属性:call:把父类的this指向子类的this

      • 方法:父类的实例对象赋值给子类的原型对象,

      • 子类原型对象的constructor一定要指回子类的构造函数

        实现继承后,让Son指回原构造函数
        
        Son.prototype = new Father();
        
        Son.prototype.constructor = Son;
  • 用构造函数实现属性继承,用原型对象实现方法继承

类的本质

  • class本质还是function

ES5新方法

遍历数组

  • forEach(function(element, index, [遍历的数组本身] ){})
  • filter() 还能做筛选
    • array.filter(function(){})
    • 主要用于筛选
    • 返回一个新数组
  • some()
    • 查找,查找需要找的值是否存在
    • 返回布尔值
    • return element === 100;
    • 找到就停止遍历
  • 遍历对象
    • obj【key】

JS高级(三)

原文:https://www.cnblogs.com/itxcr/p/11600081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!