【JS】箭头函数和箭头函数与普通函数的区别【详解】

箭头函数:

定义:

通俗的理解 箭头函数就是return函数

定义:
ES6允许使用“箭头”(=>) 定义函数
基本格式:

() => {}
eg:
let xx = ()=> 555
console.log( xx() )
就等同于:
function xx2() {
	return 666;
}
console.log( xx2())

箭头函数的语法:

  1. ()中定义参数,如果只有一个参数,可以不写括号(如果有很多参数就可以在括号中用",”隔开);
  2. {}中写函数体,如果函数体中只有返回值,可以不写return;

箭头函数和普通函数的区别:

举个例子:
SLT专属
很显然可以输出
然后进行改进一下:

let obj = {
	name = "小明",
	age = 2,
	sayName(){
		//console(`我是${this.name}`)
		setTimeout(function(){
			console.log("我是" + this.name)
		},500)
	}
}
obj.sayName();	

大家说这次会不会在0.5s后输出“我是小明”?
觉得可以的 点赞
觉得不可以的 转发

我们看下效果:
SLT专属
很显然没有输出

那么我们:
SLT专属
其中的this指的是window对象,window对象就是全局对象

这是一个方法套了个方法
那外部方法中的this指的是小明
里面的方法输出的是window对象

如果是es5的话
SLT专属
我们就可以用这种方式(传值)得出小明的名字

如果用箭头函数就可以用this了:
SLT专属

那么为什么用箭头函数就可以 用普通函数就不行呢

就得出箭头函数与普通函数的区别:

  1. this指向不同:
    普通函数,谁调用this this就指向谁
    箭头函数,在哪里定义函数 this就指向谁
    (可以理解为,内部的箭头函数不会改变this指向对象的,this仍然指向外面函数的作用域)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值