javascript中类的每个对象都有其函数的副本还是只有一个?

javascript中类的每个对象都有其函数的副本还是只有一个?,javascript,Javascript,假设你正在创建一个视频游戏,你有多个游戏对象,它们都有连接到它们的碰撞器对象。您希望创建一个函数来检查两个碰撞器是否发生碰撞。将此函数放入collider类似乎很直观,但这肯定意味着每个对象都将携带此函数的副本,这意味着冗余。因此,似乎最好将检查碰撞(并将两个碰撞器作为参数)的函数放入全局范围内的(可能是静态的)实用程序类中。这是更好的做法吗?如果对象实例没有自己的同名方法,则会检查该类的原型对象。这意味着该方法通常只有一个副本,并且它存在于原型中。但是,可以在每个实例中放置一个副本。这取决于你

假设你正在创建一个视频游戏,你有多个游戏对象,它们都有连接到它们的碰撞器对象。您希望创建一个函数来检查两个碰撞器是否发生碰撞。将此函数放入collider类似乎很直观,但这肯定意味着每个对象都将携带此函数的副本,这意味着冗余。因此,似乎最好将检查碰撞(并将两个碰撞器作为参数)的函数放入全局范围内的(可能是静态的)实用程序类中。这是更好的做法吗?

如果对象实例没有自己的同名方法,则会检查该类的原型对象。这意味着该方法通常只有一个副本,并且它存在于原型中。但是,可以在每个实例中放置一个副本。这取决于你如何设计这个类。你说过,你有多个游戏对象,它们都有连接到它们的碰撞器对象。因此,在99%的情况下,游戏对象共享一个公共原型对象。这个原型对象将被视为连接对撞机检查器功能的目的地。-如果对象实例没有自己的同名方法,则检查该类的原型对象。这意味着该方法通常只有一个副本,并且它存在于原型中。但是,可以在每个实例中放置一个副本。这取决于你如何设计这个类。你说过,你有多个游戏对象,它们都有连接到它们的碰撞器对象。因此,在99%的情况下,游戏对象共享一个公共原型对象。这个原型对象将被视为连接对撞机检查器功能的目的地。-你好,M。