《前端面试题》- JS基础 - 函数和箭头函数在全局下的this指向

我们知道箭头函数有一个作用是解决this的指向问题。函数的this是谁调用,就指向谁;箭头函数的this是在哪定义就指向谁,那么如果是在全局定义执行箭头函数,this指向谁呢?

测试
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 箭头函数
        (() => {console.log(this);})();
        // output: Window对象

        // 函数
        (function(){console.log(this);})();
        // output: Window对象
    </script>
</body>

</html>
结果

在全局定义执行箭头函数,this也是指向Window。

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):