zoukankan      html  css  js  c++  java
  • javascript es6 箭头函数

    1、箭头函数示例

    let add = (a,b) => a + b         //没有语句块时,默认作为返回值

    add(1,2);

    var multi = (a,b) => {return a * b;}    //在语句块中返回值 

    multi(1,2);

    2、如果箭头表达式仅仅是简化函数的命名,为什么要改变原来习惯而去使用?

    箭头函数内部没有constructor方法,也没有prototype,所以不支持new操作。但是它对this的处理与一般普通函数不一样,箭头函数的this始终指向函数定义时的this,而非执行时。

    3、箭头对this的处理与一般普通函数不一样,箭头函数的this始终指向函数定义时的this,而非执行时。实例验证

    /*this会发生改变*/
    function es6() {
        var obj = {
            x: 1,
            func: function () {
                console.log(this.x);
            }
            test: function () {
                setTimeout(function () {
                    alert(this); //指针转移:setTimeout由js调用所以this window对象
                    this.func(); //报错:func没定义
                }, 1000);
            }
        }
    }
    
    /*改为箭头函数,避免this发生变化,让this始终指向函数定义*/
    function upgradeEs6() {
        var obj = {
            x: 1,
            func: function () {
                console.log(this.x);
            }
            test: function () {
                setTimeout(() => {
                    alert(this);
                    this.func();
                }, 1000);
            }
        }
    }
  • 相关阅读:
    POJ-1700 Crossing River
    C++操作符new-动态存储空间分配
    POJ-3978-Primes
    POJ-1316-Self Numbers
    浅谈二维数组在传参中的使用
    OneToMany与ManyToOne的属性
    jquery的学习
    struts2常用标签
    Struts2.xml中result type属性说明
    监听器Listener
  • 原文地址:https://www.cnblogs.com/chenweichu/p/9333472.html
Copyright © 2011-2022 走看看