Author:
biophreak
Description:
Language: JavaScript
/*
Полиморфизм в JS
Вызываем примерно так:
var = f(1,2); // Здесь произойдет вызов первой ф-ии
var = f(1,2,3,4); // Здесь произойдет вызов второй ф-ии
Ф-ий может быть сколько угодно
*/
function overload() {
var l2f = [];
for(var i=0; i<arguments.length; i++)
if(typeof(arguments[i]) == "function")
l2f[arguments[i].length] = arguments[i];
return function() {
return l2f[arguments.length].apply(this, arguments);
}
}
var f = overload(
function(i, j) { // Первая ф-ия
return i * j;
},
function(i, j, k, l) { // Вторая ф-ия
return (i-j)*(k-l);
}
)
|
Recent pastes:
blessmaster (PHP)
antonivanov (SQL)
antonivanov (PHP)
brinza (PHP)
ilyhamas (Delphi)
Riateche (PHP)
otherlight (Java)
otherlight (JavaScript)
otherlight (CSS)
otherlight (CSS)
biophreak (JavaScript)
n4n (Perl)
prostoHz (Java)
ndubinkin (XML)
Riateche (Plain Text)
Slapotam (Perl)
ksurent (Perl)
John_Wein (Java)
John_Wein (HTML)
Riateche (HTML)
|