Javascript 我可以在对象原型(方法)中定义属性吗?
问题1:我制作了一个包含属性的对象构造函数,但我想知道是否可以在对象的一个方法中定义另一个属性。例如:Javascript 我可以在对象原型(方法)中定义属性吗?,javascript,oop,properties,processing.js,Javascript,Oop,Properties,Processing.js,问题1:我制作了一个包含属性的对象构造函数,但我想知道是否可以在对象的一个方法中定义另一个属性。例如: var Player = function(p1) { this.property1 = p1; this.property2 = 0; } 那么,我可以用一种方法定义这个.property3,比如: Player.prototype.drawMethod = funtion() { this.property3 = 1; } 并使其可访问,例如: var obj
var Player = function(p1) {
this.property1 = p1;
this.property2 = 0;
}
那么,我可以用一种方法定义这个.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中定义。您是否询问是否可以用您的对象构造函数版本覆盖对象?或者你为你的函数选择了名称对象只是巧合吗?你可以为任何对象添加属性,有构造函数的对象没有什么特别的。我不认为
如果(obj.property3==1==obj.property1){
做你认为它做的事情。它不会将所有3件事情相互比较,这就是如果(obj.property3==1和&obj.property1==1)
@user2263572构造函数的名称是一个巧合,我本可以将其命名为Player
@Roman,最好是编辑这个问题,以避免混淆。对象已经在javascript中定义。您是在问是否可以用您的对象构造函数版本覆盖对象?还是您刚才提到的只是一个巧合你可以给任何对象添加属性,有构造函数的对象没有什么特别的。我不认为如果(obj.property3===1==obj.property1){
做你认为它做的事情。它不会把所有3件事情都互相比较,那就是如果(obj.property3==1&&obj.property1==1)
@user2263572构造器的名字是巧合,我本可以把它命名为Player
@Roman,最好你编辑一下这个问题,以免混淆。