Memang sangat nyaman untuk menggunakan metode ulang di .net. Bisakah saya melakukannya di JavaScript?
Di Javasciprt, tidak ada fungsi metode kelebihan beban. Di masa lalu, banyak orang mungkin telah melakukannya dengan secara langsung melewati parameter lebih sedikit dan kemudian memutuskan bagaimana menghadapinya berdasarkan apakah parameter itu "tidak terdefinisi" dan tidak terdefinisi, sehingga dapat menyadari fungsi kelebihan metode yang sama.
Misalnya:
Salinan kode adalah sebagai berikut:
var showmessage = function (name, value, id) {
if (id! = "undefined") {
peringatan (nama+nilai+id);
}
lain if (value! = "undefined") {
peringatan (nama + nilai);
}
kalau tidak{
peringatan (nama);
}
}
showmessage ("haha");
showmessage ("haha", "??");
showmessage ("haha", "??", 124124);
Hari ini saya melihat sebuah artikel tentang Ajaxian tentang penulisan metode JavaScript yang berlebihan, yang dapat diimplementasikan melalui metode lain.
Lihatlah kode ini:
Salinan kode adalah sebagai berikut:
// AddMethod - oleh John Resig (MIT berlisensi)
fungsi addmethod (objek, nama, fn) {
var old = objek [nama];
objek [name] = function () {
if (fn.length == argumen.length) {
return fn.Apply (ini, argumen);
}
lain if (typeof old == 'function') {
return old.Apply (ini, argumen);
}
}
};
var userInfo = function () {
addmethod (this, "find", function () {
peringatan ("tidak ada parameter");
});
addmethod (this, "find", function (name) {
alert ("diteruskan dalam parameter adalah, disebut"+nama);
});
addMethod (this, "find", function (name, value) {
alert ("diteruskan dalam dua parameter, satu disebut name ="+name+"dan yang lainnya disebut value ="+value);
});
};
var userInfo = UserInfo baru ();
userinfo.find ();
userinfo.find ('Siapa saya?');
userinfo.find ('xxx', '1512412514');
Lihat, ini membuatnya sederhana ...