De hecho, es muy conveniente usar el método recargar en .NET. ¿Puedo hacerlo también en JavaScript?
En Javasciprt, no hay función de sobrecarga del método. En el pasado, muchas personas podrían haberlo hecho pasando directamente los parámetros menos y luego decidiendo cómo lidiar con ellos en función de si los parámetros están "indefinidos" y indefinidos, para realizar las funciones de sobrecargar métodos similares.
Por ejemplo:
La copia del código es la siguiente:
var showMessage = function (nombre, valor, id) {
if (id! = "indefinido") {
alerta (nombre+valor+id);
}
else if (valor! = "indefinido") {
alerta (nombre + valor);
}
demás{
alerta (nombre);
}
}
showMessage ("jaja");
showMessage ("jaja", "??");
showMessage ("jaja", "??", 124124);
Hoy vi un artículo sobre Ajaxian sobre la escritura de sobrecarga del método JavaScript, que se puede implementar a través de otro método.
Eche un vistazo a este código:
La copia del código es la siguiente:
// addmethod - por John Resig (MIT con licencia)
función addmethod (objeto, nombre, fn) {
var Old = Object [nombre];
objeto [nombre] = function () {
if (fn.length == arguments.length) {
devolver fn.apply (esto, argumentos);
}
else if (typeof old == 'function') {
devolver Old.apply (esto, argumentos);
}
}
};
var userInfo = function () {
addmethod (this, "buscar", function () {
alerta ("sin parámetro");
});
addmethod (esto, "buscar", función (nombre) {
alerta ("aprobado en el parámetro es a, llamado"+nombre);
});
addmethod (esto, "buscar", función (nombre, valor) {
alerta ("aprobado en dos parámetros, uno se llama nombre ="+nombre+"y el otro se llama valor ="+valor);
});
};
var userInfo = new UserInfo ();
userInfo.find ();
userInfo.find ('¿Quién soy yo?');
userInfo.find ('xxx', '1512412514');
Mira, esto lo hace simple ...