为什么把函数放在对象外?

时间:2016-11-02 10:56:21

标签: javascript

我尝试理解JS中的原型设计概念。我找到了以下示例。我问自己,如果函数是在对象之外声明的。保存资源有帮助吗?

JS

class Foo{
 private:
   int a = 0;
 public:
   Foo(){}
   Foo(int i): a(i) {}
}

2 个答案:

答案 0 :(得分:0)

是的,确实如此。 在对象构造函数(Animal)中声明方法时,每次实例化对象时都会将其写入内存。但是如果我们你是原型属性,那么Animal的每个实例都会共享这个方法,它只会被写入内存一次。

答案 1 :(得分:0)

在Javascript中使用函数作为类时。通常,在函数内初始化字符串或数字或其他原始属性;和方法进入原型(这确实有助于节省资源:))。就像你的示例代码一样。

还有其他方法可以实现相同的"优雅的行为",但使用原型是最基本的方式。