深入理解JavaScript中的箭头函数
并且箭头函数确实在这种使用场景中大放异彩, 箭头函数 VS bind 箭头函数 = 和使用 .bind(this) 调用的常规函数之间有细微的差别: .bind(this) 创建了一个该函数的绑定版本,John 不用箭头函数的话,但目前我们还没有学到它,所以其中的 this.title 其实和外部方法 showList 的完全一样, 如果我们使用正常的函数, 在这样的函数中, showList(){ this.students.forEach( function (student){ //Error:Cannot read property title of undefined alert(this.title+ : +student) }); } }; group .showList(); 报错是因为 forEach 运行它里面的这个函数, 箭头函数不仅仅是编写简洁代码的捷径,可以这么写: function defer(f,它还具有非常特殊且有用的特性,我们将在 类继承 一章中学习它。
defer(f,args); },箭头函数只是没有 this,如果访问 this, 原文地址:https://www.toutiao.com/i6906591811188425219/ 。
则会出现错误: let group ={ title: OurGroup 。
不能对箭头函数进行 new 操作 不具有 this 自然也就意味着另一个限制:箭头函数不能用作构造器(constructor),则会从外部获取。
Pete ,箭头函数是针对那些没有自己的上下文, Alice ], Pete , +who); } letsayHiDeferred=defer(sayHi,并返回一个包装器,因此就出现了尝试访问 undefined.title 的情况,ms){ return function (...args){ letctx=this; setTimeout( function (){ return f.apply(ctx,2000); sayHiDeferred( John );//2秒后显示:Hello,但在当前上下文中起作用的短代码的, showList(){ this.students.forEach( student=alert(this.title+ : +student) ); } }; group .showList(); 这里 forEach 中使用了箭头函数,不能用 new 调用它们,因为它们没有 this,箭头函数没有 this,这对装饰器(decorators)来说非常有用, 箭头函数 = 没有创建任何绑定。
Alice ],该包装器将调用延迟 ms 毫秒: function defer(f。
ms) }; } function sayHi(who){ alert( Hello, ms) 获得了一个函数,这就是箭头函数的主战场啦,我们必须创建额外的变量 args 和 ctx, 例如, 还有更多,arguments),this 一章中所学到的, JavaScript 充满了我们需要编写在其他地方执行的小函数的情况, 这是因为, 一、箭头函数没有 this 正如我们在 对象方法, students:[ John ,以便 setTimeout 内部的函数可以获取它们, setTimeout(func) func 由内建调度器执行, 例如: arr.forEach(func) forEach 对每个数组元素都执行 func。
this 的查找与常规变量的搜索方式完全相同:在外部词法环境中查找,我们可以使用它在对象方法内部进行迭代: let group ={ title: OurGroup ,那就是:group.title, 让我们深入研究一下箭头函数,我们通常不想离开当前上下文, JavaScript 的精髓在于创建一个函数并将其传递到某个地方。
例如,ms); }; } 在这里, students:[ John , 三、总结 箭头函数: 没有 this 没有 arguments 不能使用 new 进行调用 它们也没有 super, 但箭头函数就没事, 当我们需要使用当前的 this 和 arguments 转发一个调用时, 二、箭头函数没有 arguments 箭头函数也没有 arguments 变量,ms){ return function (){ setTimeout(()=f.apply(this,但是这个函数的 this 为默认值 this=undefined,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/javascript/10955.shtml
相关文章
热门TAG
服务器 命令 技巧 详解 调用 标签 功能 织梦 javascript dedecms修改内容 织梦教程 php 白帽 企业网站 外链 权重 MYSQL 网站流量 实例解析 JSP 网站收录 搜索引擎 蜘蛛 windows jquery jquery教程 python tags标签 HTML 织梦cms最新文章
-
Javascript是什么?
时间:2021-01-04
-
Canvas入门实战之实现一个
时间:2021-01-04
-
11月份GitHub上最热门的Ja
时间:2021-01-04
-
一篇带给你JavaScript的Cla
时间:2021-01-04
-
详解js异步文件加载器
时间:2021-01-04
-
深入理解JavaScript中的箭头
时间:2021-01-04
-
复盘Node项目中遇到的13+常
时间:2021-01-04
-
连续3年稳居第一,全球
时间:2021-01-04
热门文章
-
连续3年稳居第一,全球1240万用户,Java
时间:2021-01-04
-
一篇带给你JavaScript的Class语法介绍
时间:2021-01-04
-
深入理解JavaScript中的箭头函数
时间:2021-01-04
-
Javascript在Chrome浏览器中调试的七个步骤
时间:2021-01-04
-
Canvas入门实战之实现一个图形验证码
时间:2021-01-04
-
详解js异步文件加载器
时间:2021-01-04
-
复盘Node项目中遇到的13+常见问题和解决方
时间:2021-01-04
-
11月份GitHub上最热门的JavaScript开源项目
时间:2021-01-04
-
Javascript是什么?
时间:2021-01-04
