ES6 箭头函数

普通函数:
  • 命名函数形式
    function fn1(a) {
      console.log(a);
    }
  • 字面量形式
    var fn2 = function (a) {
      console.log(a);
    };
箭头函数
    var fn3 = (a, b) => {
      console.log(a, b);
    };
    fn3(10, 11);

一个参数可以省略括号

    var fn4 = (a) => {
      console.log(a);
    };

没有参数的时候 不能省略括号

    var fn5 = () => {
      console.log(123);
    };

返回值

    function aa() {
      // 正常函数
      return 123;
    }
命名函数转箭头函数
    let aa1 = () => 123;箭头函数
    // 箭头函数中,如果只有一条 return 语句,则可以省略 大括号
    // 如果 这个箭头函数 还有且只有一个形参
    // 则小括号也可以省略
    // let aa1 = a => a + 1;

    function b(){
        return function (a){
            return a+1
        }
    }
    let b=()=>a=>a+1;
    let b1=b()(1);
    console.log(b1); // 2
命名函数与箭头函数中this的指向问题
    btn.onclick=function(){
        console.log(this);// 标签
    }

    btn1.onclick=()=>{
        console.log(this);// window
    }

一般绑定事件函数的时候 不要使用 箭头函数

    btn.onclick=function(){
        setInterval(function(){
            console.log(this);// window
        },3000);
    }

    btn1.onclick=function(){
        setInterval(()=>{
            console.log(this);// 标签
        },3000);
    }

当内部函数使用箭头函数时,不会改变外部函数的 this指向

    btn.onclick=function(){
        btn1.onclick=function(){
            console.log(this);// btn1
        }
        btn1.onclick=()=>{
            console.log(this);// btn
        }
    }
总结
  • 普通函数 谁调用我 我的this指向谁
  • 箭头函数 我被定义时 定义的环境中this指向谁 我的this就指向谁
对象中的箭头函数

给对象定义方法时,不要使用箭头函数

    let obj={
        say:function(){
            console.log(this);// obj
        },
        eat:()=>{
            console.log(this);// window
        }
    }
    obj.say();
    obj.eat();
    function Dog(){
        this.say=function(){
            console.log(this);// obj
        }
        this.eat=()=>{
            console.log(this);// obj
        }
    }
    let d1=new Dog();
    d1.say();
    d1.eat();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 3、核能发现与利用 原子核能指的是原子核发生变化时释放的能量,如重核裂变和轻核聚变时所释放的巨大能量。1905年,...
    专业的亚瑟阅读 181评论 0 0
  • 就我个人来说,留下最美的诗行对我的意义,不能不说非常重大。 从这个角度来看,留下最美的诗行似乎是一种巧合,但如果我...
    坠入星星的梦里阅读 354评论 0 0
  • 5月30日: 中午之前提交作业✅ 中午之前发布公众号✅ 链接10名同学❓ 思考长文框架和局部(整理兰干货)✅ 丁香...
    徽州印象阅读 169评论 0 0
  • 夏天就真难熬。在南城香买了一碗面,吃了三次才勉强吃完。倒是真有几块牛肉,但是没有绿色,加上夏天实在是没有胃口,所以...
    咬文嚼字的老鼠阅读 137评论 0 2
  • 1、我欣赏自己刻意练习的心态 2、我欣赏自己善良 3、我欣赏自己上进 4、我欣赏自己乐观 5、我欣赏自己乐于分享 ...
    爱与感恩_4e13阅读 154评论 0 0

友情链接更多精彩内容