ECMAScript6之箭头函数

2018-06-24 01:01:18来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

2015年6月17日,ECMAScript 6发布正式版本,即ECMAScript 2015

函数作为js语言中的一等公民。自然Es6中推出的箭头函数(=>)也是备受瞩目的。那我们接下来看下传说中的“箭头函数”和function函数有什么不同吧~

1.this的指向,函数内置 this 的值,取决于箭头函数定义的上下文环境,而非箭头函数执行的上下文环境。

2.this不可变,不同于function函数的指向(点我); 箭头函数的this的指向是一成不变的,可以理解为常量一样。

3.没有arguments对象。只能通过rest语法进行传值。

4.new 不能用,箭头函数不能使用 new 关键字实例化对象,不然会发生报错。

箭头函数写法:

<script>
    //普通函数写法
	function fn(){
		console.log(this)
	}
    //箭头函数写法
	let fn1=()=>console.log(this)
</script>

箭头函数传参

let fn = (...arg) => {
     //console.log(arguments); // 实参的集合,类数组
    	console.log(arg);
}
fn(1,2,3,4)//console.log(arg) 1,2,3,4

箭头函数this的指向

<script>
	function fn(){
		console.log(this)//指向 对象obj
	}
let fn1=()=>console.log(this) //指向window
	let obj ={
		fn,
		fn1
	}
	obj.fn() //普通函数通过对象调用 指向对象
	obj.fn1()//箭头函数不论怎么调用this就是指向定义时上下文的this
</script>

  

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:深入理解javascript函数进阶系列第四篇——惰性函数

下一篇:cookie特殊字符在游览器被转义