في بعض الأحيان عند تغليف عنصر تحكم ، تحتاج العديد من وظائف JS إلى الحصول على المعلمات المباشرة أو معلمات الكائنات التي تم تمريرها ، لذلك نحتاج إلى الحكم على الكائن الأول في كل مرة ، لذلك من أجل تسهيل تغليف وظيفة هنا ، يمكننا الحصول على قيم المعلمة في الوظيفة الحالية:
بر ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- getArgs (diffcase) {// إرجاع كائن المعلمة var result = new Object () ؛ // احصل على وظيفة الاتصال var caller = endress.callee.caller ؛ if (caller == null || caller.arguments.length == 0) return return ؛ // احصل على مجموعة المعلمة للدالة var matchs = caller.toString (). match (// s*function [/w/s]*/(([/w/s ،]*)/)/) ؛ إذا (تطابق == فارغ) نتيجة الإرجاع ؛ var argarray = Matchs [1] .Split ("،") ؛ // احصل على كائن المعلمة var params = caller.arguments [0] ؛ var index = typeof (params) == "كائن"؟ 1: 0 ؛ if (index == 1) {for (var p in parms) {for (var i = 0 ؛ i <argarray.length ؛ i ++) {var arg = argarray [i] .trim () ؛ if (diffcase) {if (arg == p) {result [arg] = params [p] ؛ استراحة؛ }} آخر {if (arg.tolocaleLowerCase () == p.tolocaleLowerCase ()) {result [arg] = params [p] ؛ استراحة؛ }}}}}}. نتيجة العودة ؛}مثال اتصل على:
// اختبار وظيفة دالة (الاسم ، العمر) {// الحصول على كائن المعلمة var args = getArgs () ؛ ALERT ("الاسم:" + args.name + "، العمر:" + args.age) ؛} // اختبار الاتصال ("Zhang San" ، 25) ؛ اختبار ({name: "li si" ، العمر: 30}) ؛ Test ({name: "Wang Wu"} ، 18) ؛