ES6-箭头函数

箭头函数在JavaScript中的this是静态的,始终指向定义时的作用域。它们不能用作构造函数,不支持arguments对象,但可以有简写形式,适合在与this无关的回调中使用,如定时器、数组方法和事件回调。
摘要由CSDN通过智能技术生成

定义函数

let fn = (a,b) => {
  return a+b;
}

特点:

  • 箭头函数的this是静态的,this始终指向函数声明时所在作用域下的this值
function getValue(){
  console.log(this.value);
}
let getValueJ =() => {
  console.log(this.value);
}

window.value = "test";
const TEST = {
  value: "TEST";
}

getValue();
getValueJ();
//输出值均为test

//call方法调用
getValue.call(TEST);
getValueJ.call(TEST);
//输出值:getValue:TEST
//      getValueJ:test
  • 不能作为构造器实例化对象
let Person = (name, age) => {
  this.name = name;
  this.age = age;
}
let me = new Person("tao",25);
console.log(me);
//控制台报错
  • 不能使用 arguments 变量
    • arguments变量:类似数组的对象(具有数组的属性却不是一个真数组)
let fn = () =>{
  console.log(arguments);
}
fn(1,2,3);
//输出结果:控制台报错
  • 箭头函数简写
    • 省略小括号,当形参有且只有一个的时候
let pow = n => {
  return n*n;
}
    • 省略大括号,当代码只有一条语句的时候,此时return必须省略,且语句执行结果就是函数返回值
let pow = (n) => n*n;

箭头函数使用场景

  • 箭头函数适用于与this无关的回调场景。 例: 定时器,数组方法回调
  • 事件回调,对象方法等不适用于箭头函数,即与this有关的回调
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值