以下是我的首选项,按我的偏好排序。性能,如果真的相关,你应该基准。偏好取决于你的代码和目的。
// If independent and appropriate, split it into two separate functions
// modularization into smaller reusable building blocks is good
var calcAFunction = function() {
var calcA = ...
return calcA;
}
var calcBFunction = function() {
var calcB = ...
return calcB;
}
// Returning an array
var calcFunction = function() {
var ar = [];
var calcA = ...
ar.push(calcA);
var calcB = ...
ar.push(calcA);
return ar;
}
// Returning an object, disadvantage you must maintain key names as opposed to index
var calcFunction = function() {
var o = {};
var calcA = ...
o.key1 = calcA;
var calcB = ...
o["key2"] = calcB;
return o;
}
// Calling it with a callback function
var calcFunction = function(cb) {
var o = {};
var calcA = ...
var calcB = ...
cb(calcA, calcB)
}
calcFunction(function(A, B) {})
UPDATE
// Returning an object, disadvantage you must maintain key names as opposed to index
var calcFunction = function() {
var o = {};
var calcA = ...
o.key1 = calcA;
var calcB = ...
o["key2"] = calcB;
return o;
}
var retObj = calcFunction();
//you can access retObj.key1 and retObj.key2
我怎么叫这个,如果它是'的问题o [ “键2”] = CALCB;'路,我需要CALCB价值? – user3101259
@ user3101259我刚刚补充说明了两种方法可以在对象上设置按键。你可以通过_o.key2_或_o。[“key2”] _来访问返回对象。当你的键名有空格时,后一种语法非常有用,例如_o。[“with space”] _(_o.with space_将不起作用) – cbayram
我的意思是整行..'var foo = calcFunction(o 。[“key2”]);'? – user3101259