【问题标题】:uncaught reference error while using setter method in Javascript [duplicate]在Javascript中使用setter方法时未捕获的引用错误[重复]
【发布时间】:2018-08-07 00:45:55
【问题描述】:
let person = {
  _name: 'Lu Xun',
  _age: 137,

  set age(ageIn) {
    if (typeof ageIn === 'number') {
      this._age = ageIn;
    }
    else {
      console.log('Invalid input');
      return 'Invalid input';
    }
  }

};
console.log(person.set age('bdhh'));

// 在执行代码时,将错误作为未捕获的引用 错误

【问题讨论】:

标签: javascript


【解决方案1】:

您以错误的方式调用 setter。

person.age = 15; // this is how you call your setter

在 jsFiddle 中查看您更新的代码:https://jsfiddle.net/t3uzpobn/4/

【讨论】:

    【解决方案2】:

    你调用setter的方式不正确:

    let person = {
      _name: 'Lu Xun',
      _age: 137,
    
      set age(ageIn) {
        if (typeof ageIn === 'number') {
          this._age = ageIn;
        }
        else {
          console.log('Invalid input');
          return 'Invalid input';
        }
      }
    
    };
    console.log(person.age = 'bdhh');
    console.log(person.age = 13);

    【讨论】:

      【解决方案3】:

      你的调用方法不正确

      let person = {
        _name: 'Lu Xun',
        _age: 137,
      
        set age(ageIn) {
          if (typeof ageIn === 'number') {
            this._age = ageIn;
          }
          else {
            console.log('Invalid input');
            return 'Invalid input';
          }
        }
      
      };
      console.log(person.age = 'bdhh');
      

      【讨论】:

        猜你喜欢
        • 2018-10-23
        • 2014-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        • 2021-05-26
        • 2012-12-09
        • 2014-01-25
        相关资源
        最近更新 更多