zoukankan      html  css  js  c++  java
  • es6(二) 箭头函数

    var f = () => 5;
    // 等同于
    var f = function () { return 5 };

    var sum = (num1, num2) => num1 + num2;

    var sum = (num1, num2) => { return num1 + num2};


    // 等同于
    var sum = function(num1, num2) {
      return num1 + num2;
    };

    箭头函数体内的this指向的是定义时所在的对象,而不是执行时所在的对象。箭头函数绑定this的指向,很大程度解决了过去this动态指向的困扰,可以大大减少显示绑定this对象的写法(call,apply,bind)。

    let obj1={fun:function(){
      setTimeout(function(){console.log(this)})
    }};
    obj1.fun();//Window,上例是传统的定义函数,this的指向改为了window,通常情况下,我们都是在setTimeout外面定义that=this来确定指向,解决问题。

     
    obj2={fun:function(){
      setTimeout(()=>console.log(this))
    }};
    obj2.fun();//Object(),箭头函数下的this指向并没有改变,而是指向obj2
     


     

  • 相关阅读:
    vue中的ref,refs使用
    setTimeout 为0的作用
    click 和 mousedown 以及map地图的pointerdown
    electron图标
    websocket
    居中
    一键生成vue模板
    IntelliJ IDEA 安装破解及汉化详解
    基础的一些东西
    git 合作开发
  • 原文地址:https://www.cnblogs.com/geekjsp/p/9868079.html
Copyright © 2011-2022 走看看