箭头函数与普通函数(function)的区别是什么?构造函数(function)可以使用 new 生成实例,那么箭头函数可以吗?为什么?
实例 使用 函数 什么 区别 生成 为什么 可以
2023-06-13 09:13:57 时间
基本不同 1.写法不同,箭头函数使用箭头定义,普通函数中没有
- .箭头函数都是匿名函数,普通函数可以有匿名函数,也可以有具体名函数,但是箭头函数都是匿名函数。
- 在普通函数中,this总是指向调用它的对象,如果用作构造函数,this指向创建的对象实例。箭头函数中没有this,声明时捕获其所在上下文的this供自己使用。所以箭头函数结合call(),apply()方法调用一个函数时,只传入一个参数对this没有影响。
var x='window x'
function fn1(){
console.log(this.x)
}
var fn2=()=>{
console.log(this.x)
}
var obj={
x:"obj x"
}
fn1.call(obj); // obj x
fn1.apply(obj); // obj x
fn2.call(obj); // window x
fn2.apply(obj); // window x
4.箭头函数不可以做构造函数,不能使用new 关键字,因为new关键字是调用函数对象的constructor属性,箭头函数中没有该属性,所以不能new
function fn1(){
console.log('a')
}
var fn2=()=>{
console.log('b')
}
console.dir(fn1)
console.dir(fn2)
new fn1()
new fn2()
输出如下
image.png
5.箭头函数不绑定arguments,取而代之用rest参数…解决 6.箭头函数不可做Generator函数
相关文章
- Python 使用 Tornado Web 框架写HTTP接口实例代码(异步+线程池)
- scanf函数的实战应用: 实例演示scanf函数在实际应用中的使用方法
- 兔小巢图形滑块验证实例DEMO
- cocosCreator中websocker实例
- Linux系统使用ping命令实例讲解
- Oracle基本PLSQL的使用实例详解
- mysql存储过程和函数使用实例详解数据库
- [二] java8 函数式接口详解 函数接口详解 lambda表达式 匿名函数 方法引用使用含义 函数式接口实例 如何定义函数式接口编程语言
- Java经典实例:使用DateFormatter来格式化日期时间详解编程语言
- Oracle中的当前时间函数使用实例(oracle当前时间函数)
- 使用实例详解MySQL主从配置步骤(mysql主从配置实例)
- MySQL函数e的使用方法及实例解析(mysql中函数e)
- C#使用正则表达式实例
- javascript不停(setInterval)/延时(setTimeout)函数使用实例
- jQuery中创建实例与原型继承揭秘
- jquery使用ColorBox弹出图片组浏览层实例演示
- asp.net读取磁盘文件、删除实例代码
- 使用JavaScript实现Java的List功能(实例讲解)
- DB2新手使用的一些小笔记:新建实例、数据库路径不存在、客户端连接.
- C中qsort快速排序使用实例
- Ajax级联菜单实例代码
- PerlSort函数用法总结和使用实例
- redis中使用redis-dump导出、导入、还原数据实例
- PythonSleep休眠函数使用简单实例
- Python中的startswith和endswith函数使用实例
- python字典序问题实例