码迷,mamicode.com
首页 > Web开发 > 详细

JS高级(三)

时间:2019-09-27 21:06:17      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:实现继承   存在   停止   构造函数   布尔   情况下   原来   UNC   obj   

属性的继承

  • 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高级(三)

标签:实现继承   存在   停止   构造函数   布尔   情况下   原来   UNC   obj   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!