//标准写法
let fun = (val) => {
return val
}
console.log(fun('阿奎'))
//简易写法
//如果只有一个参数可以将()省略,如果只有一个表达式不需要换行可以省略{}和return
let fun = val => val
console.log(fun('阿奎'))
一、箭头函数不能作为构造函数,不能使用new实例化
new实例化函数步骤
1、new 创建一个空对象
2、执行构造器
3、把所有this替换成{}
4、最终返回这个空对象
箭头函数之所以不能实例化,是因为他没有自己的this,不能执行下面第三步
1、new 创建一个空对象
2、执行构造器
3、把所有this替换成{}
4、最终返回这个空对象
二、箭头函数不绑定arguments,取而代之需要用展开运算符解决...解决
function fun(){
console.log(arguments)
}
fun(1,2,3,4,5)
let fun = (...argm) => {
console.log(argm)
}
fun(1,2,3,4,5)
三、箭头函数没有自己的this,会捕获其所在的上下文的this值,作为自己的this值
箭头函数的this在定义的时候就 "固定" 不变了
四、箭头函数没有原型属性
let fun = () => {}
console.log(fun.prototype)//undefined
function fun1(){}
console.log(fun1.prototype) {constructor: ƒ}
阿奎认为的箭头函数和普通函数的区别
最新推荐文章于 2022-09-29 11:35:04 发布
关键词由CSDN通过智能技术生成