Javascript 如何从不同对象访问属性?
我不熟悉对象和OOP,我想知道,除了下面描述的方法外,我如何获得对象名称,以及是否还有其他方法可以访问对象的属性 好的,让我们举个例子:Javascript 如何从不同对象访问属性?,javascript,oop,object,Javascript,Oop,Object,我不熟悉对象和OOP,我想知道,除了下面描述的方法外,我如何获得对象名称,以及是否还有其他方法可以访问对象的属性 好的,让我们举个例子: function giveMeSomeName() { console.log(this) }; giveMeSomeName(); 控制台将返回指向的对象,在本例中为“窗口” 控制台将返回指向的对象,在本例中为“对象” 在这种情况下,引用对象将是“myObject”。让我们假设我没有这些信息,我所拥有的只是控制台告诉我,这指向一个对象。有没有办法
function giveMeSomeName() {
console.log(this)
};
giveMeSomeName();
控制台将返回指向的对象,在本例中为“窗口”
控制台将返回指向的对象,在本例中为“对象”
谢谢:)当使用函数作为对象的基础时,您需要将函数用作“构造函数”,这意味着您需要使用
new
关键字对其进行实例化。执行此操作后,在函数中使用this
关键字将导致单词绑定到实例化期间创建的对象变量。这就是创建实例属性的方式。因此:
//此函数用于构造对象的不同实例
//请注意,名称是以Pascal大小写的,以提醒其他人这一事实。
函数名称(输入){
this.myProp=输入;
console.log(this.myProp)
};
//使用构造函数时,请使用'new'关键字生成实例
//并将结果对象捕获到一个变量中,以使每个实例与
//下一个。
var myObjectInstance1=新给定的MesomeName(“foo”);
var myObjectInstance2=新给定的MesomeName(“foo2”)代码>一般来说,我建议您深入了解
在您的特定情况下,尝试使用“enemyMovement”函数扩展“game”对象:
game.enemyMovement = function() {
this.enemy.position.x += 3;
}
...
this.enemyMovement();
}
并更改“更新”功能:
game.enemyMovement = function() {
this.enemy.position.x += 3;
}
...
this.enemyMovement();
}
我刚刚为我的“具体问题”找到了一个可能的解决方案,我会简单地称之为“Enemymovation(this.敌军)”,并以这种方式访问它。但有更好的解决办法吗?我的前两个问题仍然是:)我相信使用“game.敌军”可以解决这个问题…?JavaScript中的对象没有内在的“名称”。可能引用对象的变量有名称,其他对象的属性也有名称。同一个单一对象在任何时间点都可能被任意数量的变量或对象属性引用,并且事物也可能在任何时间发生变化;年龄可能是一个整数,你不想“201”岁,不是吗@GSazheniuk也有同样的想法,但不幸的是它将返回“未定义”。
...
this.enemyMovement();
}