时间:2021-07-01 10:21:17 帮助过:3人阅读
// ES5 var selected = allJobs.filter(function (job) { return job.isSelected(); }); // ES6 箭头函数 var selected = allJobs.filter(job => job.isSelected()); // ES6 $("#confetti-btn").click(event => { playTrumpet(); fireConfettiCannon(); });
1、要编写具有多个参数(或没有参数或默认值或解构参数)的函数,在参数列表周围添加括号。
2、带有块体的箭头函数不会自动返回值。请使用return声明。
3、使用箭头函数创建普通对象时有一点需要注意。始终将对象括在括号中:
箭头函数没有自己的this值。this箭头函数内部的值始终从封闭范围继承。
对于将使用object.method()语法调用的方法,请使用非箭头函数。这些函数将从调用者那里获得有意义的 this值。其他所有内容都使用箭头功能。
{ ... addAll: function addAll(pieces) { var self = this; _.each(pieces, function (piece) { self.add(piece); }); }, ... } // ES6 { ... addAll: function addAll(pieces) { _.each(pieces, piece => this.add(piece)); }, ... }
箭头和非箭头函数之间还有一个小的区别:箭头函数也没有自己的arguments对象。
普通函数:
1、函数作为全局函数被调用时,this指向全局对象
2、函数作为对象中的方法被调用时,this指向该对象
3、函数作为构造函数的时候,this指向构造函数new出来的新对象
4、还可以通过call,apply,bind改变this的指向
1、箭头函数没有this,函数内部的this来自于父级最近的非箭头函数,并且不能改变this的指向。
2、箭头函数没有super
3、箭头函数没有arguments
4、箭头函数没有new.target绑定。
5、不能使用new
6、没有原型
7、不支持重复的命名参数。
相关推荐:
ES6箭头函数中的this问题解答
JavaScript箭头arrow函数详解
以上就是js中箭头函数的格式&this以及与普通函数的区别讲解的详细内容,更多请关注Gxl网其它相关文章!