问题第1部分:我已经创建了一个包含属性的对象构造函数,但我想知道是否可以在其中一个方法中定义该对象的另一个属性。例如:
var Player = function(p1) {
this.property1 = p1;
this.property2 = 0;
}
然后,我可以在方法中定义this.property3
,例如:
Player.prototype.drawMethod = funtion() {
this.property3 = 1;
}
并且可以访问,例如:
var obj = new Player(true);
if (obj.property3 ===1 && obj.property1 === 1) {
//code
} else {
obj.property3 = obj.property2;
}
问题第2部分:此外,属性是否会被接受为函数,我可以使用以下方式调用它们:
this.func = function() {
//code
}
...
obj.func();
答案 0 :(得分:0)
我想知道我是否可以在其中一个方法中定义该对象的另一个属性
是的,你可以。
但请注意,这被认为是错误的样式,因为它在单个点(构造函数)中不可见实例将具有的属性。还知道引擎不会优化这种情况 - 它们为构造函数创建的对象形状保留必要的空间,并在实例化后需要一些额外的工作来更改它。
属性是否会被接受为函数,我会称之为[类似方法]吗?
是