面向对象的JS

时间:2018-01-06 10:13:59

标签: javascript

为什么它不起作用?当我试图调用example.example()时,我遇到了TypeError:example.example不是函数。

var example = class {
constructor(){
    this.example = false;
}

id(){
    this.example = !this.example;
    return this.example;
}
};

2 个答案:

答案 0 :(得分:3)

  

当我试图调用example.example()时,我得到TypeError:   example.example不是函数。

example是对匿名类的引用,只能使用new

调用其构造函数

您需要将其称为

var a = new example();
a.example; //false

<强>演示

var example = class {
  constructor() {
    this.example = false;
  }

  id() {
    this.example = !this.example;
    return this.example;
  }
};
var a = new example()

console.log(a.example);

答案 1 :(得分:1)

你已经创建了类,所以你需要创建一个this的对象。它应该通过这样调用来工作。

var example = class {
constructor(){
    this.example = false;
}

id(){
    this.example = !this.example;
    return this.example;
}
};

console.log((new example()).id());
var obj = new example();
console.log(obj.id());