资讯专栏INFORMATION COLUMN

ES6箭头函数使用call

IT那活儿 / 2667人阅读
ES6箭头函数使用call

 

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!! 


ES6箭头函数使用call,apply之后this的指向。


 


箭头函数this


A. 箭头函数内部的this是词法作用域,有上下文确定。

B. 箭头函数this是在‘定义函数’的时候绑定,而不是在‘执行函数’的时候绑定。

*词法作用域就是,你在写代码的时候就已经决定了变量的作用域,因此当词法分析器处理代码时会保持作用域不变。

Javascript使用的是词法作用域。

它最重要的特征是,它的定义过程发生在代码的书写阶段。

 


 

 

函数的主要特性


A. 箭头函数没有自己的this对象。

B. 箭头函数的this永远指向其父作用域。

C. 任何方法都改变不了this,包括call,apply,bind。

代码示例,如图:

说明call无法改变this指向,全局this指向的是window对象,fn函数也是全局, fn函数this指向全局,也就是window对象,等同于window.obj指向了window.fn,而所有函数和对象都是window对象的属性,apply同理, 所以两次的值都为1,如图:

 


END



 


本文作者:朱 维 

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129538.html

相关文章

  • 关于ES6箭头函数的this问题

    摘要:对象的指向是可变的,但是在箭头函数中,它是固定的。同样的由于箭头函数没有自己的所以传统的显性绑定无效内部的指向外部在的学习中,的指向问题一直是个难点,特别是在对象方法中使用时,必须更加小心。由此箭头函数在很大程度上减少了我们的困扰。 什么是箭头函数 用法 ES6 允许使用箭头(=>)定义函数 测试 var p1 = document.getElementById(test1)...

    LeviDing 评论0 收藏0
  • es6箭头函数

    摘要:但是箭头函数并没有自己的其是继承了外层执行环境的,且不能改变,因此不能作为构造函数,此时,引擎会在报错。不能作为事件的回调在中,事件的回调函数中,会动态的指向监听的对象,但是由于监听是一个全局函数,所以箭头函数的回调中指向。 箭头函数 es6中添加了函数新的定义语法——箭头函数,当有大于一个形参的时候,必须使用()代表部分参数,函数体大于一行时,必须使用{}将函数体括起来,并使用ret...

    UnixAgain 评论0 收藏0
  • ES6箭头函数体中this指向哪里?

    摘要:注意因为箭头函数内部的是指向外层代码块的最近的,例中的函数的,所以我们可以通过改变外层代码块的的指向从而改变箭头函数中的指向例中使用了函数的方法。 一、this关键字小测试 ES6箭头函数体中的this指向哪里? 在回答这个问题之前先来揣揣你对this关键字的了解程度:(让我们回到ES6之前)题: var obj = { a: function() { cons...

    Half 评论0 收藏0
  • ES6 箭头函数 从了解到深入

    摘要:有传闻说,箭头函数的语法,是受到了的影响,并且它与中的语法一样,共享上下文。箭头函数是新增加的一个特性。箭头函数没有自己的值,其值是通过继承其它传入对象而获得的通常来说是上一级外部函数的的指向。 箭头函数 1. 简单的定义: 胖箭头函数 Fat arrow functions,又称箭头函数,是一个来自ECMAScript 2015(又称ES6)的全新特性。有传闻说,箭头函数的语法=>,...

    Eminjannn 评论0 收藏0
  • ES6指北【2】—— 箭头函数

    摘要:箭头函数基本语法函数语法具名函数匿名函数三句话第一句话声明第二句话声明匿名函数第三句话把匿名函数赋值给箭头函数语法特点只能做赋值,不能做声明第一种写法完全写法不省略参数个数,不省略函数体花括号参数个数函数体内语句个数第二种写法省略参数括号参 1.箭头函数基本语法 1.1 ES3 函数语法 // 具名函数 function xxx(arg1, arg2) { console.lo...

    DobbyKim 评论0 收藏0
  • ES6~你跟箭头函数升华之路

    摘要:箭头函数简单的定义胖箭头函数,又称箭头函数,是一个来自又称的全新特性。箭头函数是新增加的一个特性。使用箭头函数的注意点箭头函数在参数和箭头之间不能换行。值得注意的一点就是对象的指向是可变的,但在箭头函数内是固定的。 箭头函数 1. 简单的定义: 胖箭头函数 Fat arrow functions,又称箭头函数,是一个来自ECMAScript 2015(又称ES6)的全新特性。有传闻说,...

    Faremax 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<