zoukankan      html  css  js  c++  java
  • 箭头函数的this、arguments详解

    1、箭头函数没有自己的this,arguments,super或new.target。
    2、它的this、arguments都是在定义函数时绑定外层的this和arguments,而不是在执行过程中绑定的,所以不会因为调用者不同而发生变化。
    3、箭头函数若想得到自身的入参列表arguments,必须使用剩余参数表示法。
    4、箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

    下面我们以arguments为例进行验证,this同理

    var obj = {};
    obj.fn = function(){
      let arrow = (...args) =>{
        console.log('入参列表 : ', arguments); //外层的入参列表
        console.log('剩余参数 : ', args); //使用剩余参数表示法获得的自身入参列表
      }
      arrow(4,5,6)
    }
    
    obj.fn(1,2,3)

    以下是输出结果

    入参列表 : Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
    剩余参数 : (3) [4, 5, 6]

    由上述验证我们可以发现箭头函数arrow使用arguments获取入参列表时,实际上得到的是外层函数的arguments。而this也是一个道理。

  • 相关阅读:
    URAL 1948 H
    int、long、long long取值范围
    Bonetrousle HackerRank 数学 + 思维题
    湖南省第十二届大学生计算机程序设计竞赛 problem A 2016
    Abbreviation ---- hackerrank
    POJ 3321 Apple Tree DFS序 + 树状数组
    HDU
    PICO CTF 2013 PHP 2: 85
    XSS进阶三
    XSS进阶二
  • 原文地址:https://www.cnblogs.com/taohuaya/p/14285476.html
Copyright © 2011-2022 走看看