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 }
  • 相关阅读:
    移动端前端开发模型
    swift中高阶函数map、flatMap、filter、reduce
    函数式编程-构建
    Swift 4.0:访问级别(访问控制)
    swift内存管理
    swift where 的作用
    Swift 中的协议
    swift语言点评二十一-协议
    swift语言点评二十-扩展
    swift 20
  • 原文地址:https://www.cnblogs.com/duyingxuan/p/6432631.html
Copyright © 2011-2022 走看看