【JavaScript语法】箭头函数及其this指向

本文介绍了JavaScript中箭头函数的使用方法,包括不同参数情况下的语法格式,并详细解释了箭头函数中this关键字的特殊行为及应用实例。

1、箭头函数,function () { }

箭头前面:

  • 如果没有参数: ( )=>
  • 如果一个参数: (x)=> 或者 x=>
  • 如果多个参数 : (参数1,参数2)=> 必须有括号

箭头后面

  • 如果是某个变量:相当于return 这个变量。
  • 如果是代码块: {代码块}
//箭头前面没有参数,箭头后面是返回变量
let func = ()=>5;     //相当于 function(){return 5;}
console.log(func());  //输出 5

//箭头前面没有参数,箭头后面是返回对象
let func = ()=>({a:1});  //相当于 function(){return {a:1};}
console.log(func());     //输出 {a:1}

//箭头前面没有参数,箭头后面是代码块
let func = ()=>{console.log(1111);}  //相当于  function(){console.log(1111);}
func();  //输出 1111

//箭头前面一个参数,箭头后面是返回变量
let func = x=>x;      //相当于  funtion(x){return x;}
console.log(func(5));  //输出 5

// 箭头前面两个参数,箭头后面是代码块
let compare = (a,b)=>{
	return a>b?a:b;
}
console.log(compare(10,20));   //输出 20

2、箭头函数的this指向:
箭头函数是没有自己的this的, 箭头函数的this在定义的时候就确定了指向。

var name = '地哥';  //定义了name
let student = {
	id:1001,
	name:'张三',
	age:19,
	//getName:function(){}
	getName:()=>{
		return this.name;
	}
}
console.log(student.getName()); //输出 地哥

let student1 = {
	id:1002,
	name:'李四',
	age:18
}
student1.getName = student.getName;
console.log(student1.getName());//输出 地哥
	
window.name ='小红';   //修改了name
let getName = student.getName;
console.log(getName());  //输出 小红
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值