文章目录
前言
今天简单介绍一下箭头函数,在es6中新增了一个箭头函数,基本上可以用到函数的地方都可以用箭头函数
// 普通函数
let sum = function(a, b) {
return a + b;
}
// 箭头函数
let sum1 = (a, b) => {
return a + b;
}
提示:以下是本篇文章正文内容,下面案例可供参考
一、用法
通过上图可以看的出来箭头函数就是把function去掉,在小括号后面加=>
二、箭头函数特点
1.只有一个参数可以省略小括号
代码如下(示例):
// 1.如果有一个参数可以省略小括号
let demo = (x, y) => {
console.log(x, y);
}
demo(1, 2)
let demo = x => {
console.log(x);
}
demo(1)
2.如果函数返回值只有一条语句,可以省略{}和return
let demo = x => x
console.log(demo(1));
3.箭头函数没有augrments内置对象
let demo = () => {
console.log(arguments);
}
4.箭头函数不能用于创建构造函数
let Person = function () {
console.log('1');
}
let p1 = new Person()
console.log(p1);
let Person = () => {
}
let p1 = new Person()
console.log(p1); // Person is not a constructor
5.箭头函数没有prototype属性
Person()
console.log(Person.prototype);
6.call,apply可以调用箭头函数,但是不能改变this指向
var name = 'window'
let demo = function () {
console.log('测试');
console.log(this.name);
}
var obj = {
name: 'obj'
}
demo()
demo.call(obj)
demo.apply(obj)
let fn = () => {
console.log(this.name);
console.log('箭头');
}
fn()
fn.call(obj)
fn.apply(obj)
7.箭头函数的this指向父作用域
var obj={
say:()=>{
console.log(this);
var demo = function () {
console.log(this);
}
var demo = () => {
console.log(this);
}
demo()
}
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了箭头函数,有其他不足,欢迎补充