声明JavaScript成员函数的最佳实践
Best practice for declaring JavaScript member function
下面我有两个成员函数sayHello和sayHi,它们实际上做同样的事情:
function Person (n) {
this.name = n;
this.sayHello = function() {console.log("Hello, my name is "+this.name);};
};
Person.prototype.sayHi = function() {console.log("Hi, I'm "+this.name);};
Jeff = new Person('Jeff');
Joe = new Person('Joe');
Jeff.sayHello() // returns "Hello, my name is Jeff"
Joe.sayHi() /// returns "Hi, I'm Joe"
我认为实现明智,他们是相同的,但现在我开始认为将函数分配给原型只创建一个函数的图像,而'sayHello'在函数中声明,所以每次创建一个新的Person对象时都会创建一个新的图像?对吗?来自c++世界的我更喜欢将声明放在函数中,但如果这会导致臃肿,我不想这样做。
您是正确的,在Person构造函数内部声明函数sayHello
将在每次调用该函数时创建一个新函数,因此它是浪费资源。然而,这并没有浪费任何大量的资源,如果这是一个问题,那么将会有几个其他更重要的问题,而不仅仅是一个函数被重新声明。
至于最佳实践,主要是风格。一般来说,您希望只使用原型进行扩展。
相关文章:
- 在phonegap中为android调用onload函数的最佳方式
- 在javascript函数的循环中设置全局布尔变量的最佳语法
- JavaScript - 创建可链接函数时的最佳方法是什么
- PHP 重复函数调用,最佳实践
- 返回多个变量的 JavaScript 函数:数组与对象.最佳实践是什么
- 将同步函数包装到承诺中的最佳方法是什么?
- 最佳实践:在网页对用户可见后调用.Net函数
- Angular:将对象存储在服务中以在视图中显示和将crud函数存储到服务器的最佳方式是什么
- 在执行另一个异步函数之前,只有当条件为true时,才执行某些异步函数的最佳方法
- 确定公开JS实用程序函数的最佳模式
- 这是显示javascript函数返回值的最佳方式吗
- 在javascript中调用最内部函数的最佳方法
- 在方法中的函数中引用 CoffeeScript 类中的“this”的最佳方式是什么?
- 如何在函数中注入/覆盖代码?最佳实践
- 检测何时从控制台调用函数的最佳方法
- 在 JavaScript 中延迟一个又一个函数的最佳方法
- 成员函数的 JS 最佳实践
- 使用string.format,最佳方法和替代方案在服务器端创建javascript函数
- 在本地将单个变量传递给具有多个参数的函数的最佳方法是什么
- 在循环中定义函数的最佳方法是什么?- JavaScript