• JavaScript 函数调用的 this词法


           函数调用时的this实际上是在函数被调用时发生绑定,它指向什么完全取决于函数在哪里被调用。

            特例:当函数作为构造函数被调用时,即使用new 来构造一个新对象,会自动执行以下操作:

            【1】创建一个新对象;

            【2】这个新对象会被执行原型连接;(即新对象的__proto__会指向构造函数的prototype对象)

            【3】这个新对象会绑定到函数体中的this;

            【4】如果函数没有返回其他对象,那么new表达式中的函数会自动返回这个新对象。“构造函数”显示地返回一个对象,则会以返回的对象为准,如果“构造函数”返回“string、number、boolean、null、undefined、symbol,等premitive原始数据类型,则忽略该返回值并返回新对象。

            判断函数中this对象的绑定准则:

    • 由new调用?绑定到新创建的对象
    • 由call或者apply(或者bind)调用?绑定到指定对象
    • 由上下文对象调用?绑定到那个上下文对象。
    • 默认:在严格模式下绑定到undefined,否则绑定到全局对象
    • 箭头函数中的this,会通过词法作用域指向该函数定义时的上下文对象,而非调用时动态绑定。

         

  • 相关阅读:
    二手房交易平台需求分析心得——字节移动小组
    结对编程之个人项目代码分析
    五月最新版 重装win10软件
    学习必备的——超级有用的网站!!!
    SQL中sa被禁用
    19 erp沙盘校赛
    temp
    Bootstrap 学习日志(二)
    Bootstrap 学习日志(一)
    关于Android上进行模拟登陆时的验证码问题
  • 原文地址:https://www.cnblogs.com/wust-hy/p/7349153.html
Copyright © 2020-2023  润新知