对象的属性VS调用函数
Property of an Object VS Calling function
所以我想找出不同的方法来声明函数…什么是降低内存使用的最佳方法…
我一直在做的方法是方法#4,我猜这是很糟糕的。我基本上制作了一堆不同的"function XYZ(){ //stuff }
",并一直调用它来执行动作…或多或少是一种管理所有代码并使其有组织的方法……不是因为性能、内存或任何技术相关的原因……谁能解释一下哪种方法最好?(或者如果你有自己的方法请张贴)为什么?//method 1
var sayHey = new Object();
sayHey.derp = 'derp';
sayHey.herp = function(){
alert('herp');
};
//side question: would this.derp = 'derp' be the same as sayHey.derp? if so, would it be better to use this rather than sayHey?
//method 2
var sayHey2 = function() {
return {
derp : 'derp',
herp : function(){
alert('herp');
}
}
}();
//method 3
var sayHey3 = {
derp: 'derp',
herp: function(){
alert('herp');
}
};
//method 4
var derp = 'derp';
function herp(){
alert('herp');
}
-
方法1与方法3相同。只是创建对象的不同方式。
-
边问题:
this.derp
是"derp"
,如果你直接从对象调用方法。换句话说,如果您执行this.herp()
,那么herp()
函数中的this
将是您的sayHey
对象。 -
方法2也是相同的,除了有一个不必要的函数调用,没有特别使用所创建的变量范围。可以将
derp
作为函数内部的局部变量,而不是对象上的属性,这样就只能通过herp()
方法访问它。 -
方法4是一个局部函数,所以你不能直接在你的对象上得到它。
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量