时间:2017-04-17 07:03:31

标签: javascript

这是一个简单的问题但不知何故我无法弄清楚这里出了什么问题。

class MyClass {
    constructor() {
        this.id = 0;
    }

    myFunc() {
        let newValue = this.id + 1;
        console.log('New Value', newValue);
    }

}

let myObj = new MyClass();
myObj.myFunc();  // New Value 1
myObj.myFunc();  // New Value 1
myObj.myFunc();  // New Value 1

我希望id每次调用myFunc时都会增加,以便打印 1,2,3 ......

2 个答案:

答案 0 :(得分:0)

我认为你的代码应该是这样的:

class MyClass {
    constructor() {
      console.log('setting to 0');
        this.id = 0;
    }

    myFunc() {
        this.id += 1;
        console.log('New Value', this.id);
    }

}

let myObj = new MyClass();

myObj.myFunc(); // New Value 1
myObj.myFunc(); // New Value 2

答案 1 :(得分:0)

class Increment {
    constructor() {
        this.id = 0;
    }
    myFunc() {
        this.id++;
        console.log(this.id)
    }
}
let myObj = new Increment();
myObj.myFunc();  
myObj.myFunc();  
myObj.myFunc();