es6---箭头函数
2017-09-26 00:00
218 查看
箭头函数是es6一种新的函数编写方式,它可以大大简化原有的函数写法
箭头函数与匿名函数类似,上面的写法只是最简单的写法,它可以有多条语句和多个参数
j箭头函数的返回值是多样的,但是,当我们返回的是一个对象是,不能直接返回,需要在对象外包含一个{}如:(person) =>({id:id,name:name});
箭头函数最需要注意的一点就是this的作用域,他与普通函数的this指向不同,普通函数的this指向的是定义时的对象this,而箭头函数是在生效时的this
//ES5写法 function (x){ return x*x; }; //ES6写法 x => x*x;
箭头函数与匿名函数类似,上面的写法只是最简单的写法,它可以有多条语句和多个参数
//多个参数 var f = (x,y)=>x,y;//有参数,当参数大于一个是,需要用括号将它们括起来 //多条语句 var f1= (x,y)=>{ if(x>y){ return x; }else{ return y; }; };
j箭头函数的返回值是多样的,但是,当我们返回的是一个对象是,不能直接返回,需要在对象外包含一个{}如:(person) =>({id:id,name:name});
箭头函数最需要注意的一点就是this的作用域,他与普通函数的this指向不同,普通函数的this指向的是定义时的对象this,而箭头函数是在生效时的this
//箭头函数的this指向 function foo(){ setTimeout(()=>{ console.log("id:",this.id); },100); }; var id = 21; console.log(id); foo.call({id:22});//22 function Timer(){ this.s1=0; this.s2 =0; setInterval(()=> this.s1++,1000);//定时器 setInterval(function(){ this.s2++;//这里的this.s2为什么是NaN? // console.log(this.s2); // console.log(this.s2++); },1000); }; var timer = new Timer(); setTimeout(() => console.log("s1:",timer.s1),3100);//延时器 setTimeout(() => console.log("s2:",timer.s2),3100); setTimeout(function(){ console.log(timer.s2); },3100)
相关文章推荐
- ES6箭头函数
- es6箭头函数
- es6 学习笔记(一)箭头函数
- ES6 - 箭头函数和扩展
- ES6箭头函数(arrow function)
- ES6箭头函数
- es6 箭头函数总结
- es6的箭头函数的this问题
- es6中箭头函数学习的一个记录
- ES6 箭头函数+this
- ES6 箭头函数 this 指向
- ES6中箭头函数的使用
- ES6---箭头函数()=>{} 与function的区别
- es6箭头函数
- es6-箭头函数详解
- es6中箭头函数学习的一个记录
- ES6的箭头函数介绍
- ES6箭头函数(Arrow Functions)
- ES6 — 箭头函数
- 原生 ES6极简删删除节点 箭头函数,正则,call