es6的箭头函数
1.使用语法 : 参数 => 函数语句;
分为以下几种形式 :
(1) ()=>语句
( )=> statement 这是一种简写方法省略了花括号和return 相当于 ()=>{return statement;}
这和 匿名函数 function(){return statement;}等同
零个参数用()表示;
(2) ( ) =>{多行语句}
多行语句就不能省略花括号了,没有写return则返回 undefined;
(3) x =>{statement return y} x=>statement 当只有一个参数时可以省略小括号;
这和 匿名函数 function(x){ statement return y;}等同
(4) (x,y,z) = >{statement return z} (x,y,z)=>statement 多个参数必须有小括号;
(5) ()=>({ob:"this is object"})
使用简写方式当返回值是一个对象时需要加上小括号;这是因为花括号在js中表示可执行代码段也表示对象集合所以为了避免错误必须有小括号;
使用()=>{return {object :" obj "}} 则不必添加小括号(添加了也不会有错);
2.箭头函数的特性
(1) 箭头函数内部没有constructor方法,也没有prototype,所以不支持new操作。
new (() => {}) //此处会报错
(2)它对this的处理与一般的普通函数不一样。箭头函数的 this 始终指向函数定义时的 this,而非执行时,并且call和aply无法改变this的指向;
window.color = "red";
let color = "green";
let obj = {
color: "blue"
};
let sayColor = () => {
return this.color;
};
sayColor.apply(obj);//red
es6的箭头函数的更多相关文章
- ES6中箭头函数的作用
我们知道在ES6中,引入了箭头函数,其本质就是等同有ES5中的函数.类似于下面的写法: let test1=() => “abc”; let test2=() => { return “a ...
- Es6中箭头函数与普通函数的区别
Es6中箭头函数与普通函数的区别? 普通function的声明在变量提升中是最高的,箭头函数没有函数提升 箭头函数没有属于自己的this,arguments 箭头函数不能作为构造函数,不能被new,没 ...
- es6的箭头函数和es5的function函数区别
一.es6的箭头函数es6箭头函数内部没有this,使用时会上朔寻找最近的this不可以做构造函数,不能使用new命令,因为没有this函数体内没有arguments,可以使用rest参数代替不能用y ...
- Es6 之箭头函数 初学
不积跬步,无以至千里;不积小流,无以成江海! // ES5 var selected = allJobs.filter(function (job) { return job.isSelected() ...
- 关于es6的箭头函数使用与内部this指向
特型介绍:箭头函数是ES6新增的特性之一,它为JS这门语言提供了一种全新的书写函数的语法. 'use strcit'; let arr = [1,2,3]; //ES5 let es5 = arr.m ...
- ES6笔记② 箭头函数
特性介绍 箭头函数是ES6新增的特性之一,它为JS这门语言提供了一种全新的书写函数的语法. //ES5 function fun(x,y){ return x+y; } console.log(fun ...
- 关于ES6 用箭头函数后的 this 指向问题
最近写完小程序后, 开始学习React, 因为有编译器, 就直接用ES6 新语法了, 中间自然离不开 () => { console.log('箭头函数的this是指向哪的问题')}; var ...
- 进阶路上有你我-相互相持篇之ES6里箭头函数里的this指向问题
首先复习下普通函数里的this指向: function test(){ console.log(this) } test() 你会秒杀的毫无疑问的回答:window,针对普通函数:谁调用了函数 函数 ...
- es6之箭头函数
=> 箭头函数是ES6增加的函数表达式.将function关键字和函数名都删掉,并使用“=>”连接参数列表和函数体(低版本浏览器不支持) 箭头函数看上去只是语法的变动,其实也影响了this ...
- ES6学习--箭头函数
1. 箭头函数基本形式 let func = (num) => num; let func = () => num; let sum = (num1,num2) => num1 + ...
随机推荐
- oop作业五 基本构架
计算器的主体框架 链接 githu链接 031602510 面向对象的分类 分成四个类,分别有着自己的属性功能: 栈的学习 栈(stack)是一个"后进后出"的结构(已知)--从& ...
- GUI(JMenuBar+JMenu+JMenuItem)
public class WindowMenu extends JFrame { JMenuBar menubar; JMenu menu,subMenu; JMenuItem item1,item2 ...
- 结对编程1---基于Flask的四则运算题目生成器
项目代码地址 / WEB应用地址 / 合作伙伴iFurySt博文链接 需求分析 本次程序是基于原有的控制台四则运算器的基础上,改成WEB的形式,同时还增加了一些新的功能.同时因为交互方式的改变,代码也 ...
- 201521123060 《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 List中指定元素的删除(题目4-1 ...
- page分页类
<?php /** file: Page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...
- php中的多条件查询
首先是查询所有,步骤不详述,连接数据库,查询表中的所有信息,foreach循环以表格的形式打印出来 然后就是form表单中提交查询的数据,这里以post方式提交到本页面,所以要判断post中是否有值, ...
- Mybatis第五篇【Mybatis与Spring整合】
Mybatis与Spring整合 既然我们已经学了Mybatis的基本开发了,接下来就是Mybatis与Spring的整合了! 以下使用的是Oracle数据库来进行测试 导入jar包 aopallia ...
- Spring - 运行时获取bean(ApplicationContextAware接口)
默认情况下,我们的bean都是单例模式(即从容器初始化到销毁只保持一个实例).当一个bean需要引用另外一个bean,我们往往会通过bean属性的方式通过依赖注入来引用另外一个bean.那么问题就来了 ...
- maven使用私服以后,Missing artifact xxx:xxx:jar:xx的问题
这里提供的是一种针对特殊情况的的解决方案. 即在你可以顺利使用本地仓库时,在settings.xml中加上私服配置以后出现这样的问题. 解决方案: windows→preferences→Maven→ ...
- 基于注解方式实现Aop
开启注解扫描 <context:component-scan base-package="aopSpring"></context:component-scan& ...