.NET에서 메소드 Reload를 사용하는 것이 실제로 매우 편리합니다. JavaScript로도 할 수 있습니까?
Javasciprt에서는 과부하 방법의 기능이 없습니다. 과거에는 많은 사람들이 매개 변수를 직접 전달한 다음 매개 변수가 "정의되지 않은"및 정의되지 않은지에 따라 다루는 방법을 결정하여 유사한 방법을 과부하시키는 기능을 실현함으로써이를 수행했을 수도 있습니다.
예를 들어:
코드 사본은 다음과 같습니다.
var showmessage = function (이름, 값, id) {
if (id! = "undefined") {
경고 (이름+value+id);
}
else if (value! = "undefined") {
경고 (이름 + 값);
}
또 다른{
경고 (이름);
}
}
showmessage ( "haha");
showmessage ( "haha", "??");
showmessage ( "haha", "??", 124124);
오늘 나는 Ajaxian에 관한 기사를 JavaScript Method Overloading의 쓰기에 관한 기사를 보았습니다.
이 코드를 살펴보십시오.
코드 사본은 다음과 같습니다.
// AddMethod -John Resig (MIT 라이센스)
함수 addMethod (객체, 이름, fn) {
var old = 객체 [이름];
개체 [이름] = function () {
if (fn.length == arguments.length) {
fn.apply (this, arguments)를 반환합니다.
}
else if (typeof old == 'function') {
old.
}
}
};
var userInfo = function () {
addMethod (this, "find", function () {
경고 ( "매개 변수 없음");
});
AddMethod (this, "find", function (name) {
Alert ( "매개 변수에 전달 된 것은"+name이라고하는 a입니다);
});
addMethod (this, "find", function (name, value) {
Alert ( "두 매개 변수로 전달되면 하나는 name ="+name+"라고 말하고 다른 하나는 value ="+value라고합니다);
});
};
var userInfo = new userInfo ();
userInfo.find ();
userInfo.find ( '나는 누구입니까?');
userinfo.find ( 'xxx', '1512412514');
이게 간단하게 ...