• 关于 super() , 和 this , bind(this)的粗俗理解


    首先 super():

    该方法与构造函数有关,个人理解为:执行父类构造方法

    this(ES6语法):

    与类中自定义的 对象(作用域) 以及函数方法有关,与执行时的内存存储结构有关,与对象在内存中的初始化(指向地址)有关。

    具体理论知识看大佬的详解  https://www.cnblogs.com/ly2019/p/11006188.html

    个人理解为:this指代的是调用该方法的对象。如对象(调用函数的作用域)中没定义内容,一般this等于 undefined 或者 window

    注意:this指向运行代码时的对象所在的作用域,所以还需要注意对象的初始化位置

    特别的是:   箭头函数 本身没有 this,  所以箭头函数中用到的 this 一般指向上上级对象作用域。

    bind(this) : 

    假如有三层对象作用域,

    第一层有赋值的变量 A ,第二层没有 A ,

    第三层(函数层)的 this 指向第二层。此时 this 为undefined 或者window。 

    若在函数后边加上bind(this).    例: function(){ …print( this.A )… }.bind(this)              则函数中的 this 就指向第一层,打印出来的就是 A 

  • 相关阅读:
    算法训练 接水问题
    算法训练 数组排序去重
    算法训练 A+B Problem
    算法训练 采油区域
    算法训练 会议中心
    JS高级
    JS基础操作
    JavaScript入门(基础)
    表格与表单
    音频与视频
  • 原文地址:https://www.cnblogs.com/yinniora/p/14431491.html
Copyright © 2020-2023  润新知