É de fato muito conveniente usar o método recarregar no .NET. Posso fazer isso em JavaScript?
No Javasciprt, não há função do método de sobrecarga. No passado, muitas pessoas poderiam ter feito isso passando diretamente os parâmetros menos e depois decidindo como lidar com elas com base em se os parâmetros são "indefinidos" e indefinidos, para realizar as funções de sobrecarregar métodos semelhantes.
Por exemplo:
A cópia do código é a seguinte:
var showMessage = function (nome, valor, id) {
if (id! = "indefinido") {
alerta (nome+valor+id);
}
caso contrário, se (valor! = "indefinido") {
alerta (nome + valor);
}
outro{
alerta (nome);
}
}
showMessage ("haha");
showMessage ("haha", "??");
showMessage ("haha", "??", 124124);
Hoje eu vi um artigo sobre o Ajaxiano sobre a redação do sobrecarga do método JavaScript, que pode ser implementado por meio de outro método.
Dê uma olhada neste código:
A cópia do código é a seguinte:
// addmethod - por John Resig (MIT licenciado)
função addmethod (objeto, nome, fn) {
var antigo = objeto [nome];
objeto [nome] = function () {
if (fn.length == argumentos.length) {
retornar fn.Apply (isto, argumentos);
}
else if (typeof Old == 'function') {
retornar antigo.Apply (isto, argumentos);
}
}
};
var userInfo = function () {
addMethod (isto, "encontre", function () {
alerta ("sem parâmetro");
});
addMethod (isto, "encontre", função (nome) {
alerta ("Passado no parâmetro é A, chamado"+nome);
});
addMethod (isto, "encontre", função (nome, valor) {
alerta ("Passado em dois parâmetros, um é chamado name ="+name+"e o outro é chamado de valor ="+valor);
});
};
var userInfo = new UserInfo ();
userInfo.find ();
userInfo.find ('Quem sou eu?');
userInfo.find ('xxx', '1512412514');
Olha, isso simplifica ...