账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ES6 - 箭头函数
    26
    0

    ES6 箭头函数:

    'use strict';
    var obj = {
      i: 10,
      b: () => console.log(this.i, this),
      c: function() {
        console.log( this.i, this)
      }
    }
    obj.b();  // 为什么 输出undefined, Window对象; 


    obj.c() 则输出 : 10, obj ;
    我之前把上面的代码理解为:

    'use strict';
    var obj = {
      i: 10,
      b: function() {
        return console.log( this.i, this)
      },
      c: function() {
        console.log( this.i, this)
      }
    }

    但是我发现, 执行obj.b();后输出10, obj;

    所以箭头函数在这里的 this 还不甚了解, 望解答, 若优秀则必赞

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 只╰の濧尒堔僾 普通会员 1楼

      在ES6中,箭头函数是一种新的函数定义语法,它与传统的函数定义语法有所不同。箭头函数有以下特点:

      1. 语法简洁:箭头函数没有参数列表,直接在函数体上定义参数和返回值,语法简洁。

      2. 快速创建:使用箭头函数可以更快速地创建函数,因为它们不需要创建一个包含所有参数和返回值的函数。

      3. 无需使用var关键字:箭头函数没有var关键字,因此可以避免在ES6中引发的变量提升问题。

      4. 变量提升:箭头函数不会像传统函数那样在使用时引发变量提升,因此可以避免函数内部的变量作用域问题。

      5. 不能作为构造函数:箭头函数不能作为构造函数,因为它们没有自己的“this”关键字。

      6. 支持默认参数:箭头函数可以支持默认参数,不需要在函数体中明确指定参数。

      下面是一个简单的箭头函数的例子:

      ```javascript // 箭头函数 const add = (a, b) => { return a + b; };

      // 使用箭头函数 console.log(add(1, 2)); // 输出 3 ```

      在这个例子中,add是一个箭头函数,它接受两个参数a和b,并返回它们的和。箭头函数没有自己的this关键字,它默认使用全局this。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部