不可以使用yield命令,因此箭头函数不能用作 Generator 函数 箭头函数的this指向 对于普通函数来说,内部的this指向函数运行时所在的对象。箭头函数没有自己的this对象,内部的this就是定义时上层作用域中的this。 箭头函数内部的this指向是固定的,相比之下,普通函数的this指向是可变的。 将ES6转成ES5 发现其实只是所谓的...
上面这个例子,函数fun1中的setTimeout中使用普通函数,2秒后函数执行时,这时函数其实是在全局作用域执行的,所以this指向Window对象,this.id就指向全局变量id,所以输出'Global'。但是函数fun2中的setTimeout中使用的是箭头函数,这个箭头函数的this在定义时就确定了,它继承了它外层fun2的执行环境中的this,而fun2调用时...
箭头函数没有 this,所以需要通过查找作用域链来确定 this 的值。这就意味着如果箭头函数被非箭头函数包含,this 绑定的就是最近一层非箭头函数的 this。模拟一个实际开发中的例子:我们的需求是点击一个按钮,改变该按钮的背景色。为了方便开发,我们抽离一个 Button 组件,当需要使用的时候,直接:// 传入元素 i...
②改变this的行为特性,在箭头函数内部,this的绑定将不是动态的,而是词法的。在前面的代码中,如果使用箭头函数作为回调,this则如我们所愿是可预测的。 2. 使代码简洁 2.1 普通函数与箭头函数对比 //普通函数functionfoo(x,y){returnx+y;}// 使用箭头varfoo=(x,y)=>x+y; 2.2 几种不同形式的箭头函数 var...
ES6标准新增了一种新的函数:Arrow Function(箭头函数)。 为什么叫Arrow Function?因为它的定义用的就是一个箭头: //1、没有形参的时候 let fun = () => console.log('我是箭头函数'); fun(); //2、只有一个形参的时候()可以省略 let fun2 = a => console.log(a); ...
ES6 系列之箭头函数 回顾 我们先来回顾下箭头函数的基本语法。 ES6 增加了箭头函数: let func = value => value; 1. 相当于: let func = function (value) { return value; }; 1. 2. 3. 如果需要给函数传入多个参数: let func = (value, num) => value * num;...
1、单一参数的单行箭头函数 如下段代码所示,很简单: const fn= foo =>`${foo} world`; 1. 这是箭头函数最简洁的形式,常用于用作简单的处理函数,如过滤。如下段代码所示: length 1. 2、多参数的单行箭头函数 语法也很简单,如下段代码所示: const fn=(foo,bar) => foo+bar; ...
我认为这是最简洁的书写格式。箭头函数的功用与Underscore.js和immutable等库的功能类似,immutable 的示例文档中全部都是使用ES6来编写的,因此使用了大量的箭头函数。除了函数样式编写,箭头函数还可以包含区块语句而不仅仅是单一表达式。例如:// ES5$("#confetti-btn").click(function (event) { playTrumpet(); ...
与函数表达式相比,ES6 箭头函数为我们提供了一种编写更短语法的替代方法。 下面的例子定义了一个函数表达式,它返回两个数字的和: letadd =function(x, y){returnx + y;}; console.log(add(10,20));// 30 以下示例等效于上述 add() 函数表达式,但...
ES6标准新增了一种新的函数:Arrow Function(箭头函数),也称“胖箭头函数”, 允许 使用“箭头”(=>)定义函数,是一种简写的函数表达式。 1、箭头函数语法 在ES5中我们实现一个求和的函数: var sum = function(x, y) { return x + y } 要使用箭头函数,可以分两步实现同样的函数功能: ...