美文网首页
es5 function & es6 Fat arrow fun

es5 function & es6 Fat arrow fun

作者: whosMeya | 来源:发表于2019-01-04 18:56 被阅读0次
    // es5function this是使用时所在的对象
    // es6箭头函数  this是定义时所在的对象(最近作用域内)
    
    
    // es5 function
    var a = {
      func_a: function () { console.log(this) }
    }
    var func_a = a.func_a;
    a.func_a();  // a对象
    func_a();    // window
    
    
    // es6 箭头函数
    var b = {
      func_b: () => { console.log(this) },
      func_b1: function () {
        var func_b11 = () => { console.log(this) }
        func_b11();
      }
    }
    
    var func_b = b.func_b;
    b.func_b();  // window
    func_b();    // window
    
    var func_b1 = b.func_b1;
    b.func_b1();  // b对象(func_b11指向func_b1,func_b1指向b, 所以func_b11指向b对象)
    func_b1();    // window
    
    
    // es5function 匿名函数 this是window
    // es6箭头函数 匿名函数  this还是定义时所在的对象(最近作用域内)
    var c = function () {
      (function () { console.log(this) })();
      (() => { console.log(this) })();
    }
    
    c();  // window window
    
    var d = { c: c };
    d.c()  // window d对象
    

    相关文章

      网友评论

          本文标题:es5 function & es6 Fat arrow fun

          本文链接:https://www.haomeiwen.com/subject/rsbkrqtx.html