أنواع وظائف جافا سكريبت: 1. يستخدم المنشئ الكلمة الأساسية الجديدة لتحديد الوظيفة المراد استدعاؤها، وإرجاع كائن جديد افتراضيًا؛ 2. الوظيفة المجهولة، وهي وظيفة بدون اسم فعلي، لن تسبب تلوثًا للمتغيرات العامة؛ وظيفة الإغلاق، وهي وظيفة لديها إذن للوصول إلى المتغيرات في نطاق وظيفة آخر. 4. الوظيفة الديناميكية وقائمة المعلمات وجسم الوظيفة هي وظائف محددة ديناميكيًا من خلال السلاسل.
بيئة تشغيل هذا البرنامج التعليمي: نظام Windows 10، إصدار JavaScript 1.8.5، كمبيوتر Dell G3.
1. المنشئ
يشير المنشئ في Javascript إلى وظيفة محددة ومستدعى باستخدام الكلمة الأساسية الجديدة، والتي تُرجع كائنًا جديدًا افتراضيًا.
2. وظيفة مجهولة
تشير الوظائف المجهولة في Javascript إلى وظائف بدون أسماء فعلية. لن يؤدي استخدام الوظائف المجهولة إلى تلوث المتغيرات العامة.
3. وظيفة الإغلاق
تشير وظيفة الإغلاق في Javascript إلى وظيفة لديها إذن للوصول إلى المتغيرات في نطاق وظيفة أخرى، وغالبًا ما يتم إنشاء وظائف الإغلاق داخل الوظيفة.
4. الوظائف الديناميكية
تشير الوظيفة الديناميكية في Javascript إلى وظيفة يتم تحديد قائمة معلماتها وجسم الوظيفة ديناميكيًا من خلال سلسلة.
الأمثلة هي كما يلي:
<script> function show(){ تنبيه("الأول..."); function show(str){ تنبيه("الثاني" } function show(a,b){ تنبيه("الثالث . . . "); تنبيه(a+":":+b); } </script> </head> <!-- الدوال ذات المعلمات المتغيرة: جميعها دوال ذات معلمات متغيرة في js.1 على الرغم من الإعلان عن الدالة على أنها اثنين. عندما يتم تعريف المعلمات، يمكن تمرير أي رقم عند استدعائها --> <!-- 2 في كل دالة، توجد وسيطات مصفوفة افتراضية، والتي تخزن المعلمات التي تم تمريرها أثناء هذا الاستدعاء - جميع المعلمات الفعلية التي تم إدخالها. > <body> <!-- 1. عرض المعلمات المتغيرة: --> <script> show();// عند الاتصال، سيتم مسح المعلمات السابقة // غير محدد: عرض غير محدد (111)؛ // عند الاتصال ، سيتم مسح العناصر السابقة ///11:undef show("a"،"b")؛// بعد الاتصال، سيتم مسح العناصر السابقة //a:b show(1,2,3,4) ;//1:2 </script>لتلخيص الأمثلة المذكورة أعلاه، لا يوجد تحميل زائد للوظائف في JS. يجب أن يكون بدلًا للجميع، على الرغم من أن الدالة تعلن عن عدة متغيرات عند تعريفها، إلا أنه يمكن تمرير أي رقم عند استدعائها. يوجد في كل دالة وسيطات صفيف افتراضية، والتي تخزن جميع المعلمات الفعلية التي تم تمريرها أثناء هذا الاستدعاء.
وظيفة مجهولة
<!DOCTYPE html> <html> <head> </head> <body> <!-- عرض وظيفة جافا سكريبت المجهولة--> <script type="text/javascript"> var res =function(a,b){/ /لاحظ أنها أحرف صغيرة func return a+b };</span> تنبيه("sum="+res(1,2));//sum=3 تنبيه("res="+res("abc" "def"));//res=abcdef </script> </body> </html>وظيفة ديناميكية
مقدمة: استخدم وظيفة الكائن المضمنة في Js لإنشاء دالة. المعلمة الأولى في طريقة البناء هي "المعلمة الرسمية" والمعلمة الثانية هي "نص الوظيفة".
<span style="font-size:18px;"><!DOCTYPE html> <html> <head> <title>DTfunc.html</title> <meta http-equiv="keywords" content="keyword1,keyword2, الكلمة الأساسية3"> <meta http-equiv="description" content="هذه صفحتي"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- <link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <!-- استخدم وظيفة الكائن المضمنة في Js لإنشاء كائن function المعلمة الأولى في المنشئ هي "المعلمة الرسمية" والمعلمة الثانية هي "نص الوظيفة". --> <!-- الفكرة مشابهة لانعكاس الفصل في Java. عادة لا نستخدمها عند كتابة الوظائف، ولكن بمجرد كتابة النقاط الرئيسية، ستصبح وظيفة البرنامج بأكمله مرنة للغاية --> <script> var res=new Function("x,y"،"var sum" =0;sum= x+y;return sum;") var sum=res(12,34);//46 var sum=res("abc"،"bss");//abcbss تنبيه("sum=" +sum); </script> </body> </html></span>