2021-06-10

es6的箭头函数

#箭头函数(=>)定义函数
以前声明函数的方式

let fun = function(){
    //函数体
}

新的方法

let fn = () => {函数体}  //直接省略function关键字

调用的形式还是不变

####箭头函数的特性

  1. this 是静态的,this 始终指向函数声明时所在作用域下的 this 的值
  2. 不能作为构造函数实例化对象

//1. this 是静态的,this 始终指向函数声明时所在作用域下的 this 的值
function getName(){
    console.log(this.name);
}

let getName2 = () => {
    console.log(this.name);
}

//设置window对象的属性 name
window.name = '大学生';
const school = {
    name:'小学生';
}

//直接调用方法
getName();   //===>大学生
getName2();  //===>大学生


//但是使用call方法时
getName.call(school);  //===>小学生

getName2.call(school); //===>大学生

//2、不能作为构造实例化对象

//以下的方法时错误的
let Person = (name, age ) => {
    this.nam = name;
    this.age = age;
}

//错误的做法
let me = new Person('xiao',30);  //会直接提示错误
console.log(me);

//3、不能使用 arguments 变量
let fn = () => {
    console.log(arguments);  
}

//调用fn
fn(1,2,3);   //提示arguments 为notdefined 未定义

4、箭头函数的简写

  1. 直接省略小括号,当形参有且只有一个的时候

  2. 省略花括号{},当代码代码体只有一条语句的时候,而且 return 语句也必须省,语句的执行结果就是函数的返回值

     //1、直接省略小括号,仅有一个参数的时候
     let add = n => { return n+n;}
     
     //2、省略花括号,只有一条语句的时候
     let pow = (n) => n*n;
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值