箭头函数与普通函数的区别

箭头函数的出现就是为了解决ES5中this指向混乱的问题

箭头函数的this指向来自父级上下文, 箭头函数没有自己的this

箭头函数的this不会在调用的时候被改变, 在箭头函数声明的时候他的this就已经被永久的确定

箭头函数与普通函数的区别

    1.箭头函数是匿名函数 箭头函数不能作为构造函数使用 不能使用new

    2.箭头函数的this,始终指向父级上下文

    3.箭头函数不能通过call apply bind改变this指向,但是可以通过这些方法传递参数

    4.箭头函数没有原型属性

    5.箭头函数没有arguments属性,可以用...展开运算符来接收所有的参数集合

js中的this指向

1.方法是谁调用的,那么在方法中this就指向谁(.前面是谁, this就是谁)

2.如果没有调用 this始终指向window

3.构造函数中的this, 指向实例本身

4.强制改变this   call apply bind

5.ES5中的this解决方案 一般使用闭包将父级的this指向进行暂存,然后在子集作用域中去使用这边暂存的变量,来去确定this 指向

箭头函数的出现就是为了解决ES5中this指向混乱的问题

箭头函数的this指向来自父级上下文, 箭头函数没有自己的this

箭头函数的this不会在调用的时候被改变, 在箭头函数声明的时候他的this就已经被永久的确定

普通函数的arguments和类数组转换成数组

1.把类数组转换为数组

function fn() {
        /* console.log(arguments);
        // let arr = Array.from(arguments); 方法1
        let arr = [...arguments]; //  方法2
        console.log(arr); */
        // let arr = Array.prototype.slice.call(arguments); //  方法3
        let arr = [].slice.call(arguments); //  方法4 简写
        console.log(arr);
      }

      fn(30, 20, 10);

2.直接类数组借用数组方法

function fn() {
      [].forEach.call(arguments, (item) => {
        console.log(item);
      });
    }
    fn(10, 20, 30);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值