一文弄懂箭头函数

一篇文章,让您学会箭头函数

ES6标准新增了一种新的函数:Arrow Function(箭头函数)。

一、声明一个只有一个参数的函数(es6之前)

const sum = function(x) {
     return x
 }

改造为箭头函数,一个参数时,可以省略()

const sum = x => x;
console.log(sum(3))

注:当箭头函数中没有参数时,不可以省略()


二、声明一个求两个数和的函数(es6之前,两个及以上参数)

function sum(x, y) {
    return x + y;
}
console.log(sum(1,3))

改造为箭头函数

//方法1
const sum1 = (x, y) => {
     return x + y
}
//方法2
const sum2 = (x, y) => x + y

三、对象里的函数属性(es6之前)

const obj = {
     name1: 'nihao',
     show: function(){
         console.log(this.name1);
      }
}
obj.show();

改造为箭头函数

 const obj = {
      name1: 'nihao',
      show: () => {
          console.log(this.name1);
      }
}
obj.show();

es6中对象函数的新的写法

 const obj = {
      name1: 'nihao',
      show() {
          // es6中对对象方法的简写
          console.log(this.name1);
      }
 }
 obj.show();

四、箭头函数返回值为一个对象

//不简写
var obj = () =>{ 
    return {x:1};
}  

//简写
var obj = () =>({x:1});

注:在简写的情况下,返回的对象必须在()里面,否则会报错


箭头函数中的注意点:

  1. 构造函数中不可以使用箭头函数,不能使用new
  2. 箭头函数this为父作用域的this,不是调用时的this(不可以使用call()、bind()、apply()方法改变this指向)
  3. 箭头函数不可以作为构造函数原型的方法,
  4. 箭头函数没有argument对象,不能通过arguments对象访问传入的参数
  5. 箭头函数不可以作为回调函数
  6. 箭头函数没有原型属性
 const btn = document.querySelector('button');
 // 箭头函数里面没有this
 btn.addEventListener("click", () => {
      console.log(this); //window
   // this.style.background = 'red';  这样写会没有效果
      btn.style.background = "red";
 })

 

箭头函数看上去是匿名函数的一种简写,但实际上,箭头函数和匿名函数有个明显的区别:箭头函数内部的this是词法作用域,由上下文确定。 

使用箭头函数的时候,一定要注意this指向问题呦。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F103是意法半导体(STMicroelectronics)推出的一款32位单片机系列,属于Cortex-M3内核。下面是一份简要的说明,帮助你了解STM32F103。 1. 内核架构:STM32F103采用ARM Cortex-M3内核,具有较高的性能和低功耗特性。它运行在最高72MHz频率下。 2. 存储器:STM32F103具有不同的存储器选项,包括闪存(Flash)和随机存取存储器(SRAM)。闪存用于存储程序代码和常量数据,SRAM用于存储变量和堆栈。 3. 外设:STM32F103拥有丰富的外设,包括通用定时器、串行通信接口(USART、SPI、I2C)、模数转换器(ADC)、通用输入输出引脚(GPIO)等。这些外设可用于实现各种应用,如控制、通信和传感器接口。 4. 开发环境:对于STM32F103的开发,你可以使用ST提供的官方开发工具——STM32CubeIDE,它是基于Eclipse的集成开发环境。此外,你还可以使用其他第三方软件,如Keil MDK或IAR Embedded Workbench。 5. 编程语言:你可以使用C/C++编程语言进行STM32F103的开发。ST提供了丰富的库函数和示例代码,方便开发者快速上手。 6. 资源:为了更好地了解STM32F103,你可以参考ST官方的技术文档、数据手册和应用笔记。此外,CSDN等网站上也有很多关于STM32F103的教程和案例供你学习参考。 需要注意的是,上述信息只是对STM32F103的一个简要介绍,如果你希望深入了解它的特性和开发方法,建议你查阅更多资料并进行实际的开发练习。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值