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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    这两种函数的写法除了this绑定之外还有其他什么不同的地方吗?
    45
    0

    题目描述

    这两种写法处理上面的方法没有绑定this之外还有没什么不一样的地方呢?

    题目来源及自己的思路

    在用es6的箭头函数时看到这种写法,自己试验了几次,发现就是一个需要自己绑定this一个自己有绑定

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

      setComponentType(type) {
        this.setState({type});
      }
    
      setComponentType = (type) => {
        this.setState({type});
      }

    你期待的结果是什么?实际看到的错误信息又是什么?

    能不能介绍一些这两种写法还有内有什么其他有区别的地方?

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 这两种函数在写法上没有太大的区别,都是在JavaScript中定义函数并使用this关键字进行绑定。但是,有以下几个不同的地方:

      1. function() { }的this指向window对象。这是最常见的this绑定方式,它可以在全局作用域中使用。

      javascript function sayHello() { console.log(this); } sayHello();

      1. function() { this指向被调用的对象}.这种方式在对象函数中使用,它将this绑定到被调用的对象上。

      javascript function greet(name) { console.log(this, name); } greet('world');

      1. new Function().这种方式创建一个新的函数,它将this绑定到新的函数上。

      javascript new Function('this is new function');

      1. function() { this.value = "Hello"; }.这种方式在函数声明中使用,它将this绑定到函数本身上。

      javascript function sayHello() { console.log(this.value); } sayHello();

      1. function() { this.value = "Hello"; }.这种方式在函数内部使用,它将this绑定到函数内部。

      javascript function greet(name) { this.value = 'Hello'; console.log(this, name); } greet('world');

      这些方式的选择主要取决于你的编程习惯和你希望如何在函数内部使用this。

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