箭头函数相关

基本用法

 var a = (num1,num2)=> num1+num2
 等价于:
var a = function(num1,num2){
	return num1+num2
}

如果没有返回值

var f = ()=>void doesNotReturn()

和普通函数的区别

函数里面的this指向调用时所在函数所绑定的对象(定义时所在的对象)
箭头函数的this指向父元素
this是function内部被创建

箭头函数不能使用arguments对象,该对象在函数体内部不存在。如果要用,可用rest参数代替

var b = (...values) => {
      var a = "2";
      console.log(values)
      return a
    };
    b(1,2,3); 
    //[1,2,3]

ES6引入了rest参数(形式"…变量名"),用于获取函数的多余参数,这样就不需要使用arguments对象。rest参数搭配的变量是一个数组,该变量将多余的参数放入其中。

箭头函数this指向的原因

通过阮一峰的教程:
箭头函数this指向的固化,并不是箭头函数内部有绑定this的机制,实际原因是箭头函数根本没有自己的this,导致内部的this就是外层代码块的this,正因为他没有this,所以就不能用作构造函数

实例:

window.a1 = '1-1'
//let 声明的全局变量不具有全局属性,即不能用window.访问
let a1 = '1-2'
let object = {
	a1:'1-3',
	b1:()=>{
		console.log(this.a1) //this指向window
	}
}
let b2 = ()=>{
	console.log(this.a1) //this指向window
}
object.b1()    //'1-1'
b2()     // '1-2'

let声明的对象不具有全局属性,不能用window访问

箭头函数不能使用call和apply改变其运行的作用域

window.a1 = '1-1';
let a1 = '1-3'
let obj = {
	a1:'1-2',
}
let b1 = (){
console.log(this.a1)
}
b1().apply(obj)  //'1-1'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值