مفهوم وظيفة رد الاتصال: وظيفة رد الاتصال هي وظيفة تسمى من خلال مؤشر الوظيفة. إذا قمت بتمرير المؤشر (العنوان) للوظيفة كوسيطة لوظيفة أخرى ، عند استخدام هذا المؤشر لاستدعاء الوظيفة التي يشير إليها ، نقول إن هذه وظيفة رد اتصال.
رد الاتصال هو وظيفة يتم تمريرها كوسيطة لوظيفة أخرى ويتم تنفيذها بعد الانتهاء من وظيفة الوالد.
أسباب استخدام وظائف رد الاتصال: يمكنك فصل المتصل عن Callee. لا يهتم المتصل بمن هو المتصل.
النظر في مثال مثل هذا:
إذا تم تنسيق المستويات السفلية والمستوى العالي من قبل موظفين مختلفين. الموظفون السفليون ، أحتاجك.
قال الموظفون الأساسيون: سأزودك بالبيانات ، وكيفية عرضها ومعالجتها وبعد ذلك ستكون نفسك.
نسخة الكود كما يلي:
// تمثل البيانات مصدر البيانات الذي توفره الطبقة الأساسية ، ويمثل funcname وظيفة المكالمة للطبقة العليا
وظيفة (البيانات ، funcname) {
1. ينتمي Data إلى القضية 1 ويتم التعامل معها بواسطة الطبقة الأساسية ؛
2. Data ينتمي إلى القضية 2. تتم معالجتها من قبل المستوى العالي.
...
}
ربما لم أوضح بعد ، يمكننا أن نرى مثالًا وفهمه جميعًا مرة واحدة
نسخة الكود كما يلي:
// إذا كان مصدر البيانات المقدم هو عدد صحيح ، وهو درجة الطالب ، عندما تتم معالجتها بواسطة الطبقة الأساسية ، وعندما يتم معالجتها بواسطة الطبقة العليا.
// انسخ الوظيفة التالية وحفظها إلى 1.JS
وظيفة F (num ، رد الاتصال) {
if (num <0) {
تنبيه ("استدعاء وظيفة منخفضة المستوى للمعالجة!") ؛
تنبيه ("لا يمكن أن تكون النتيجة سلبية ، خطأ في الإدخال!") ؛
} آخر إذا (num == 0) {
تنبيه ("استدعاء وظيفة منخفضة المستوى للمعالجة!") ؛
تنبيه ("قد لا يكون الطالب قد أجرى الامتحان!") ؛
}آخر{
تنبيه ("استدعاء معالجة الوظائف عالية المستوى!") ؛
أتصل مرة أخرى()؛
}
}
نسخة الكود كما يلي:
// احفظ ملف test.html التالي في نفس الدليل مثل 1.JS:
<!
"http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta http-equiv = "content-type" content = "text/html ؛ charset = gb2312">
<script src = "1.js" type = "text/javaScript"> </script>
<title> Unted Document </title>
<script type = "text/javaScript">
اختبار الوظيفة () {
var p = document.getElementById ("pp") ؛
pp.innertext = "" ؛
var num = document.getElementById ("Score"). value ؛
F (num ، function () {// وظيفة معالجة عالية المستوى مجهولة المصدر
إذا (num <60) تنبيه ("فشل!") ؛
آخر إذا (num <= 90) تنبيه ("الجيل ممتاز!") ؛
تنبيه آخر ("نتائج ممتازة لهذا الجيل!") ؛
pp.innertext = "بواسطة منذ عام 1978 QQ558064!"
}
</script>
</head>
<body>
<p>
وظيفة رد الاتصال: عندما تكون درجة الطالب النتيجة <= 0 ، تتم معالجتها بواسطة الطبقة الأساسية ؛
</p>
الرجاء إدخال درجات الطلاب <type type = "text" id = "score">
<type type = "button" onClick = "test ()" value = "انظر إلى النتيجة">
<p id = "pp"> </p>
</body>
</html>
قم بتشغيل هذا الملف ويمكنك رؤية التأثير