تصف هذه المقالة استخدام وظائف مجهولة في JavaScript. شاركه للرجوع إليه. التفاصيل كما يلي:
1. تحديد وظيفة
في JavaScript ، يمكن تعريف وظيفة من خلال "إعلان الوظيفة" و "تعبير الوظيفة" ، على سبيل المثال
1. تحديد وظيفة من خلال "إعلان الوظيفة"
دالة T1 () {}2. تحديد وظيفة من خلال "تعبير الوظيفة"
t2 = function () {}ومع ذلك ، فإن الطريقين لتحديد وظائف لهما تأثيرات مختلفة
T1 هو إعلان وظيفة. عندما يكون "التحليل المعجمي" ، AO.T1 = function () {} ، ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2 هي عملية مهمة. عند "تشغيل" ، ao.t2 = function () {} ، تكون القيمة هي النتيجة التي يتم إرجاعها بواسطة التعبير على اليمين ، ولا تعمل إلا في مرحلة "التشغيل".
2. وظائف مجهولة
في JavaScript ، يتم تنفيذ البيان في Brackets () كتعبير. كما ذكر أعلاه ، يمكنك استخدام "تعبير الوظيفة" لتحديد وظيفة ، حتى نتمكن من تحديد وظيفة في () ، مثل
(الوظيفة T3 () {Alert ('i am t3') ؛})إذا لم تستخدم الوظيفة الاسم ، فقم بتعديله على النحو التالي
(function () {Alert ('i am t3') ؛})نظرًا لأن العبارة الواردة في () هي تعبير ، فإن له قيمة إرجاع. قيمة الإرجاع لـ (function () {Alert ('i am t3') ؛}) هي وظيفة محددة ويمكن استدعاؤها على الفور ، مثل
(function () {Alert ('i am t3') ؛}) ()لذلك ، يتم تعريف وظيفة بدون اسم بين قوسين () ، والتي تسمى وظيفة مجهولة. هذه الطريقة ، وظائف مجهولة ، تنفذ فورًا دون تلويث الوضع العالمي ، تسمى تنفيذ تعبيرات الوظيفة على الفور.
3. jQuery هي وظيفة مجهولة
يتم تغليف رمز jQuery في دالة مجهولة ، وهي الكود الخارجي لـ jQuery:
(وظيفة (نافذة ، غير محددة) {}) (نافذة) ؛ // استدعاء الآنولكن لماذا يمر JQuery النافذة ولكن لم يتم تعريفه؟
الإجابة: النافذة المارة هي العثور على السرعة وتقليل الوقت للاستعلام عن متغيرات. على سبيل المثال ، رمز JS التالي
function () {function () {function () {function () {function () {document.getElementById () ؛ // سيتم البحث في طبقة هذا المستند بواسطة الطبقة على طول النطاق حتى النافذة الخارجية على مستوى العالم. }}}}يجب على jQuery تسريع البحث الداخلي للمتغيرات المحلية ، وتمرير النافذة مباشرة كمعلمات ، بحيث تكون النافذة على AO داخل jQuery.
إنه لأغراض أمنية عدم المرور غير المحددة ، لأنه في الإصدارات السفلية من IE و FF ، يمكن إعادة تعيين غير محددة بالفعل ، مثل غير محدد = 3 ؛
أعلن أن المتغير المحلي غير محدد (الاسم غير محدد) ، وفي نفس الوقت ، دون تمرير المعلمات ، تكون القيمة غير محددة بشكل طبيعي
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.