Действительно очень удобно использовать метод перезагрузить в .net. Могу я также сделать это в JavaScript?
В Javasciprt нет никакой функции метода перегрузки. В прошлом многие люди могли делать это, непосредственно передавая параметры меньше, а затем решив, как справиться с ними в зависимости от того, являются ли параметры «неопределенными» и неопределенными, чтобы реализовать функции перегрузки аналогичных методов.
Например:
Кода -копия выглядит следующим образом:
var showmessage = function (имя, значение, id) {
if (id! = "не определен") {
оповещение (имя+значение+id);
}
else if (value! = "undefined") {
оповещение (имя + значение);
}
еще{
оповещение (имя);
}
}
ShowMessage ("хаха");
ShowMessage ("хаха", "??");
ShowMessage ("хаха", "??", 124124);
Сегодня я увидел статью об аяксеян о написании перегрузки метода JavaScript, которая может быть реализована с помощью другого метода.
Взгляните на этот код:
Кода -копия выглядит следующим образом:
// addmethod - Джон Ресиг (MIT Licensed)
Функция addMethod (объект, имя, fn) {
var old = object [name];
Object [name] = function () {
if (fn.length == Arguments.length) {
вернуть fn.apply (это, аргументы);
}
else if (typeof old == 'function') {
вернуть old.apply (это, аргументы);
}
}
};
var userInfo = function () {
addmethod (это, "find", function () {
оповещение («без параметра»);
});
addMethod (это, "find", function (name) {
Alert («Проходит в параметре, называется«+name);
});
addmethod (this, "find", function (name, value) {
Alert («Передается в два параметра, один называется name ="+name+", а другой называется value ="+value);
});
};
var userInfo = new userInfo ();
userInfo.find ();
userInfo.find («Кто я?»);
userInfo.find ('xxx', '1512412514');
Смотри, это делает это простым ...