【发布时间】:2016-10-06 17:28:46
【问题描述】:
问题第 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();
【问题讨论】:
-
对象已在 javascript 中定义。您是在问是否可以用您的 Object 构造函数版本覆盖 Object ?还是您为函数选择名称 Object 只是一个巧合?
-
你可以为任何对象添加属性,对象没有什么特别之处。
-
我不认为
if (obj.property3 === 1 === obj.property1) {做你认为它做的事。它不会将所有 3 件事相互比较,那就是if(obj.property3 ===1 && obj.property1 === 1)。 -
@user2263572 构造函数的名字是巧合,我可以命名为
Player -
@Roman 最好编辑问题,以避免混淆。
标签: javascript oop properties processing.js