نسخة الكود كما يلي:
وظيفة A () {
تنبيه ("متعة A ()") ؛
}
الوظيفة B () {
تنبيه ("متعة B ()") ؛
}
var methodName = "" ؛
// method1
methodName = "a" ؛
وظيفة method1 (methodName) {
// تهيئة خاصية.
this.func = function () {} ؛
يحاول{
// هنا نستخدم طريقة eval لتعيين الطريقة التي يمثلها اسم الطريقة التي مررنا بها ككائن إلى سمة FUNC للطريقة 1.
// إذا تعذر العثور على الكائن المقابل لـ MethodName ، فإن طريقة EVAL ستعمل على إلقاء استثناء
this.func = eval (methodName) ؛
} catch (e) {
التنبيه (methodName+"() غير موجود!") ؛
}
}
var c = new m (methodName) ؛
c.func () ؛
/**
* method2 ، بسيطة نسبيا
*/
methodName = "B" ؛
وظيفة method2 (methodName) {
this.func = دالة جديدة (methodName+"() ؛") ؛
}
var c = new m (methodName) ؛
يحاول{
c.func () ؛
} catch (e) {
ext.msg.alert (methodName+"() غير موجود!") ؛
}