zoukankan      html  css  js  c++  java
  • js面向对象-class类的基本使用es6语法规范(1-30)

    此博客只供自己学习记录使用

    1.继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类的

    2.继承中,如果子类里面没有,就去查找父类有没有这个方法,如果有,就执行父类的这个方法(就近原则)

     3.super关键字(利用super调用父类的构造函数)

     子类在构造函数中使用super,必须放到this前面(必须先调用父类的构造方法,再使用子类构造方法)

     使用class类的两个注意点

    1.es6中类没有变量提升,所以必须先定义类,才能通过类实例化对象

    2.类里面的共有的属性和方法一定要加this使用

    3.类里面的this指向问题:constructor里面的this指向实例对象,方法里面的this指向这个方法的调用者

     

     构造函数和原型

    new在执行时会做四件事情

    1.在内存中创建一个新的空对象

    2.让this指向这个新的对象

    3.执行构造函数里面的代码,给这个新对象添加属性和方法

    4.返回这个新对象(所以构造函数里面不需要return)

     在构造函数中添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this上添加,两种方式添加的成员,分别成为静态成员和实例成员

    静态成员:在构造函数身上添加的成员叫做静态成员,只能通过构造函数本身来访问

    实例成员:在构造函数内部创建的对象成员称为实例成员,只能由实例化的对象来访问,实例成员就是构造函数内部通过this添加的成员

     

      构造函数的问题,存在浪费内存的问题,prototype就可以解决这个问题

     一般情况下,公共属性定义到构造函数里面,公共方法放到原型对象身上

     

     对象原型 __proto__

     

     constructor  构造函数

    此时遇到一个问题,如果要在构造函数的原型对象上添加十几种方法,此时要定义一个对象 Star.prototype = { 里面存放多个方法},但是遇到一个问题,就是里面没有了constructor,原因是重新给Star.prototype赋值了{},导致constructor不见,这个时候可以在对象里面添加constructor:Star重新指向构造函数

     构造函数 实例对象和原型对象 三角关系

     原型链讲解

     原型对象this指向问题

     利用原型对象prototype扩展内置对象方法

     js利用父构造函数继承属性组合继承(这个只是继承了属性)

     js利用原型对象继承方法 

     

     js类 class的本质是函数

     

    ES5中的新增方法

     filter()方法

     

     数组some

  • 相关阅读:
    Linux-Zabbix 邮件报警设置
    CentOS6.7 防火墙规则(Iptables)
    CentOS7 防火墙规则 (firewalld)
    windows搭建代理服务器
    Linux服务器的远程IP限制
    利用shell脚本监控目录内文件改动
    CentOS 7, 升级python到3.x
    CentOS 7, Attempting to create directory /root/perl5
    变长参数表
    C语言预处理
  • 原文地址:https://www.cnblogs.com/gengzhen/p/14091787.html
Copyright © 2011-2022 走看看