На первый взгляд задача очень не проста. Для перегрузки функций
можно поступить таким образом - сделать генератор функций, который
будет вызывать нужную анонимную фукнцию в зависимости от числа параметров:
function generator() {
// Массив анонимных функций
var m = [];
for(var i=0; i<arguments.length; i++)
if(typeof(arguments[i]) == "function")
m[arguments[i].length] = arguments[i];
return function() {
return m[arguments.length].apply(this, arguments);
}
}
var calcArea = generator(
function (x, y) {
return x*y;
},
function(x,y,z) {
return x*y*z;
}
);
var v1 = calcArea(3,4);
var v2 = calcArea(2,3,4);
* Перегрузка операций в JavaScript отсутствует
JavaScript Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor