在构造函数中分配原型方法:不明智的做法
创建原型对象时,在构造函数中分配方法是一种常见的做法本身。然而,这种方法会引起对缺点和意外范围问题的担忧。
缺点:
运行时后果:
在性能方面,直接在对象上分配方法(而不是原型)可以提高执行速度。这是因为直接访问对象方法会绕过原型查找。
范围界定警告:
在构造函数中分配原型方法的做法在多个场景中可能会特别成问题。对象的实例存在。如提供的 Counter 示例中所示,每个实例的 get 方法引用最后创建的实例的构造函数的相同局部变量。这会导致意外和不正确的行为。
建议:
为了避免这些问题并确保代码可靠,建议在构造函数之外分配原型方法。这可以提高清晰度、避免范围问题并提高性能。
以上是为什么在构造函数中分配原型方法是不明智的?的详细内容。更多信息请关注PHP中文网其他相关文章!