zoukankan      html  css  js  c++  java
  • 箭头函数中的this

    首先说this的问题对于大多数新手来说都是个问题,现在由于es6的普及,箭头函数也是深受大家的喜爱,箭头函数中的this又是如何的?

    由于个人写作水平有限,直接上干货

    看了好几篇写的好的文章,我自己总结下:

    箭头函数中的this是局部的,怎么理解呢?一般我们都知道,this是调用时确定的,确定于运行时的环境。个人理解箭头函数中的this是没有绑定的,也就是说根本不绑定this,所以说我们平时用的时候需要特别注意,当我们在箭头函数中使用了this,那这个this则会像作用域链一样一层一层的寻找,直到找到window(浏览器中)。show the code

    function foo() {
        this.id = 6;
        return () => {
            return () => {
                console.log(this.id)
            }
        }
    }
    //输出6

    其实箭头函数中也不绑定arguments,当在箭头函数中使用了arguments则会像this一样一层一层往上寻找show the code:

    function foo() {
        this.id = 6;
        return () => {
            return () => {
                console.log(this.id)
                console.log(arguments)
            }
        }
    }
    foo(1, 2, 3)()()
    //6
    //{ '0': 1, '1': 2, '2': 3 }
  • 相关阅读:
    SQL Server控制语句
    MATLAB中取整函数(fix, floor, ceil, round)的使用
    MATLAB程序设计
    Thinking In Java<<Java编程思想>>
    Boost::bimap
    MySQL学习随笔1
    Boost 1_42_0在windows下的编译及其设置
    MySQL执行mysql脚本及其脚本编写
    Pygame介绍
    Erlang
  • 原文地址:https://www.cnblogs.com/duyingxuan/p/6432631.html
Copyright © 2011-2022 走看看