zoukankan      html  css  js  c++  java
  • js 执行上下文,this指向

    执行上下文的创建过程

    执行代码之前,进入创建上下文阶段:

    初始化作用域链;

    创建变量对象:

    1.创建argumens对象,初始化参数名称和值并创建引用的复制;

    2.扫描上下文的函数声明(而非函数表达式):

    为发现的每一个函数,在变量对象上创建一个属性,属性名就是函数的名字,保存一个函数在堆内存中的引用;

    如果该属性名已经存在,引用指针将被重写。

    3.扫描上下文的变量声明: 为发现的每一个变量声明,在变量对象上创建一个属性,属性名就是变量的名字,并将变量的值初始化为undefined; 如果该属性名已经存在,将不会进行任何操作并继续扫描。 计算上下文内部this的值。

    this用法总结

    全局环境下的 this 指向全局本身;

    独立调用的函数中的 this 指向 undefined;

    函数调用时如果被某一个对象所拥有,那么函数内部的 this 指向该对象;

    函数调用时如果使用了 call/apply/bind 方法,那么函数内部的 this 指向传入的对象;

    构造函数和原型方法上的 this 指向使用 new 方法返回的实例对象;

    箭头函数中 this 的绑定取决于外层作用域(全局或函数)。

  • 相关阅读:
    【转载】怎样使用ZEMAX导出高质量的图像动画
    shell中的单引号,双引号,反引号
    docker容器以非root用户启动应用
    js操作json的基本方法
    页岩油
    shell中使用ssh
    强一致性 弱一致性 最终一致性
    CSV和excel
    workbook sheetname最大长度
    ipvs了解
  • 原文地址:https://www.cnblogs.com/gudun/p/10881966.html
Copyright © 2011-2022 走看看