微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Es6中的箭头函数

1.作用:定义匿名函数

2.基本语法:

没有参数:()=>console.log(“XXXXXXX”)

一个参数:i=>i+2

多个参数:(i,j)=>i+j

注意:

函数体不用大括号,认返回结果

函数体如果有多个语句,需要用{}包围,如有需要返回的内容,需要手动返回

使用场景:

箭头函数的特点:

  1. 箭头函数没有自己的this,箭头函数的this不是调用的时候决定的,而是在定义的时候处在对象就是他的this
  2. 箭头函数的this看外层的时候有函数,如果有,外层函数的this就是内部箭头函数的this,如果没有那this就是window
	<body>
		<button id="btn1">按钮1</button>
		<button id="btn2">按钮2</button>
		
		<script type="text/javascript">
			/*let fun = function(){
				console.log("fun()")
			}
			fun();*/
			/*
			//没有参数:()=>console.log(“XXXXXXX”)
			
			let fun = ()=>console.log("fun()");
			fun()
			
			//一个参数:i=>i+2  一个形参,并且函数体只有一条语句
			let fun1 = x => x;
			console.log(fun1(5))
			
			
			//一个以上的形参并且函数体只有一条语句
			let fun2 = (x,y)=>x+y;
			console.log(fun2(20,30));
			
			
			let fun3 = (x,y)=>{
				console.log(x,y);
				x+y;
			};
			console.log(fun3(20,30))
			*/
			
			//测试箭头函数的this
			let btn1 = document.getElementById("btn1")
			let btn2 = document.getElementById("btn2")
			console.log(btn2)
			/*btn1.onclick = ()=>{
				console.log(this)
				alert(this)
			}
			
			btn2.onclick = ()=>{
				console.log(this)
				alert(this)
			}*/
			
			//2、箭头函数的this看外层的时候有函数,如果有,外层函数的this就是内部箭头函数的this,如果没有那this就是window
			let obj = {
				name:"zs",
				age:18,
				getName:function(){
					btn2.onclick = ()=>{
						console.log(this)
					}
					console.log(this.name)
				}
			}
			obj.getName()
		</script>
	</body>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐