抱歉,如果重复,但我没有找到解释。 如何在js类中创建字段?在将来定义...
class Polygon {
//var whyNot; This makes false
constructor(height, width) {
this.height = height;
this.width = width;
}
calcArea() {
return this.height * this.width;
}
}
答案 0 :(得分:0)
您对JS对象的理解有点偏离......您创建了一个调用函数的变量,该函数是它自己的构造函数。然后修改对象以包含您希望稍后调用的函数。像这样https://jsfiddle.net/programndial/vonc5af5/
<input type="button" id="testButton" value="Test" />
function Polygon(height, width) {
this.height = height;
this.width = width;
Polygon.prototype.calcArea = function(string) {
return this.height * this.width;
}
}
testButton.onclick = function() {
var newPoly = new Polygon(10, 25);
alert(newPoly.calcArea());
}
答案 1 :(得分:0)
答案是(部分)在你的问题中。
我们将从您的评论中的代码和链接中假设您使用的是最新版本的Javascript:ES6或ES2015。
您可以使用您提供的代码中的constructor
方法创建它们。
class Polygon {
constructor(height, width) {
//height and width will be fields of Polygon
this.height = height;
this.width = width;
//...and whyNot too!
this.whyNot = 42;
}
...
当然,由于ES6与以前版本的Javascript兼容,您仍然可以使用constructor methods, object literals...
答案 2 :(得分:-2)
检查这个答案。 Constructors in JavaScript objects
您在javascript中没有“类”,您将对象定义为函数。您将可继承的函数定义为原型。几乎你会使用'prototype'关键字进行oop行为。