มันสะดวกมากที่จะใช้วิธีการรีโหลดใน. NET ฉันสามารถทำมันใน JavaScript ได้หรือไม่?
ใน Javasciprt ไม่มีฟังก์ชั่นของวิธีการโอเวอร์โหลด ในอดีตหลายคนอาจทำมันโดยผ่านพารามิเตอร์โดยตรงน้อยลงแล้วตัดสินใจว่าจะจัดการกับพวกเขาได้อย่างไรโดยขึ้นอยู่กับว่าพารามิเตอร์นั้น "ไม่ได้กำหนด" และไม่ได้กำหนดไว้เพื่อที่จะตระหนักถึงฟังก์ชั่นของวิธีการที่คล้ายกันมากเกินไป
ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
var showMessage = function (ชื่อ, ค่า, id) {
if (id! = "undefined") {
การแจ้งเตือน (ชื่อ+ค่า+id);
-
อื่นถ้า (ค่า! = "ไม่ได้กำหนด") {
การแจ้งเตือน (ชื่อ + ค่า);
-
อื่น{
การแจ้งเตือน (ชื่อ);
-
-
Showmessage ("ฮ่าฮ่า");
Showmessage ("ฮ่าฮ่า", "??");
Showmessage ("ฮ่าฮ่า", "??", 124124);
วันนี้ฉันเห็นบทความเกี่ยวกับ Ajaxian เกี่ยวกับการเขียนวิธี JavaScript Overloading ซึ่งสามารถนำไปใช้ได้ผ่านวิธีอื่น
ดูรหัสนี้:
การคัดลอกรหัสมีดังนี้:
// AddMethod - โดย John Resig (MIT Licensed)
ฟังก์ชั่น addMethod (วัตถุ, ชื่อ, fn) {
var เก่า = วัตถุ [ชื่อ];
Object [name] = function () {
if (fn.length == arguments.length) {
ส่งคืน fn.apply (ข้อโต้แย้งนี้);
-
อื่นถ้า (typeof old == 'function') {
return old.apply (ข้อโต้แย้งนี้);
-
-
-
var userInfo = function () {
AddMethod (นี่ "ค้นหา", function () {
การแจ้งเตือน ("ไม่มีพารามิเตอร์");
-
AddMethod (นี่ "ค้นหา" ฟังก์ชั่น (ชื่อ) {
การแจ้งเตือน ("ผ่านในพารามิเตอร์คือ A, เรียกว่า"+ชื่อ);
-
addMethod (นี่ "ค้นหา" ฟังก์ชั่น (ชื่อค่า) {
การแจ้งเตือน ("ส่งผ่านในพารามิเตอร์สองตัวหนึ่งเรียกว่า name ="+name+"และอีกอันเรียกว่า value ="+value);
-
-
var userInfo = ใหม่ userInfo ();
userinfo.find ();
userinfo.find ('ฉันเป็นใคร?');
userinfo.find ('xxx', '1512412514');
ดูสิมันทำให้ง่าย ...