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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js中this指向问题
    42
    0
    fileChange(el) {
          if (!el.target.files[0].size) return;
          // this.fileList(el.target);
          let file = el.target.files[0];
          let oFReader = new FileReader();
          oFReader.readAsDataURL(file);
          oFReader.onload = function(oFREvent) {
            // console.log(oFREvent.target.result); //base64
            this.upImgLUrl = oFREvent.target.result;
          };
          el.target.value = ''
          console.log(this.upImgLUrl);
        },

    这里怎么把oFREvent.target.result传出去到全局?
    console.log(this.upImgLUrl);打印出来是空

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 半夏柒微凉 普通会员 1楼

      在JavaScript中,this是一个重要的属性,用于确定函数或方法在哪个上下文中执行。this的默认值是undefined,但我们可以通过其他方式设置this。

      1. 使用call()、apply()和bind()方法:call()、apply()和bind()方法都可以在函数或方法的执行上下文中设置this。例如,以下代码将调用函数a,并在函数b中设置this:

      ```javascript function a() { console.log(this); }

      function b() { console.log(this); }

      b.call(); ```

      1. 使用箭头函数:箭头函数的this默认为函数自身,但我们可以通过上下文参数设置this。例如,以下代码将调用函数a,并在函数b中设置this:

      ```javascript const a = (function() { console.log(this); }());

      a(); ```

      1. 使用函数作为构造函数的参数:如果一个函数是一个构造函数,那么它的this值将始终指向该构造函数。例如,以下代码将创建一个构造函数a,并在函数b中设置this:

      ```javascript function a() { console.log(this); }

      function b() { console.log(this); }

      let c = new a(); c(); ```

      注意,这种方法可能在一些情况下导致问题,例如当函数被作为参数传递给另一个函数时。在这种情况下,第二个函数可能会更改函数的this值,这可能会导致意想不到的结果。因此,通常不建议使用这种方法。

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