Latest web development tutorials
×

JavaScript مسار

JavaScript مسار JavaScript مقدمة موجزة JavaScript استعمال JavaScript تصدير JavaScript قواعد JavaScript البيانات JavaScript مذكرة JavaScript متغير JavaScript أنواع البيانات JavaScript الأجسام JavaScript وظيفة JavaScript مجال JavaScript حدث JavaScript سلسلة JavaScript مشغلي JavaScript مقارنة JavaScript If...Else JavaScript switch JavaScript for JavaScript while JavaScript Break & Continue JavaScript typeof JavaScript نوع التحويل JavaScript التعبير العادية JavaScript خطأ JavaScript التصحيح JavaScript رفع متغير JavaScript الوضع الصارم JavaScript استخدام غير لائق JavaScript مصادقة النماذج JavaScript كلمات محفوظة JavaScript JSON JavaScript void JavaScript كود المواصفات

JS وظيفة

JavaScript تعريف وظيفة JavaScript وسائط الدالة JavaScript استدعاء دالة JavaScript الإغلاق

JS HTML DOM

DOM مقدمة موجزة DOM HTML DOM CSS DOM حدث DOM EventListener DOM العنصر

JS دروس متقدمة

JavaScript الأجسام JavaScript Number JavaScript String JavaScript Date JavaScript Array JavaScript Boolean JavaScript Math JavaScript RegExp الأجسام

JS المتصفح BOM

JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript فرقعة JavaScript حدث موقوتة JavaScript Cookies

JS مخزن

JavaScript مخزن JavaScript اختبار jQuery JavaScript اختبار Prototype

JS أمثلة

JavaScript أمثلة JavaScript مثيل كائن JavaScript مثيل كائن المستعرض JavaScript HTML DOM أمثلة JavaScript ملخص

JS الدليل المرجعي

JavaScript الأجسام HTML DOM الأجسام

جافا سكريبت الإغلاق

يمكن المتغيرات جافا سكريبت تكون المتغيرات المحلية أو العالمية.

المتغيرات خاصة يمكن استخدامها الإغلاق.


المتغيرات العالمية

وظيفة يمكن الوصول إلى المتغيرات التي يحددها الوظائف الداخلية، مثل ؟:

أمثلة

myFunction وظيفة () {
فار ل= 4؛
إرجاع * ل.
}

محاولة »

كما يمكن الوصول إليها وظيفة خارج وظيفة محددة المتغيرات، مثل:

أمثلة

فار ل= 4؛
myFunction وظيفة () {
إرجاع * ل.
}

محاولة »

مثال على ظهره، وهو غير متغير عمومي.

في صفحة ويب تنتمي إلى إطار الكائن المتغير العالمي.

المتغيرات العالمية ويمكن استخدامها في جميع البرامج النصية على الصفحة.

في المقام الأول، وهو غير متغير محلي.

لا يمكن إلا أن المتغيرات المحلية أن تستخدم لتحديد وظيفة الداخلية. أجل وظيفة أخرى أو كود غير متوفر.

حتى المتغيرات العالمية والمحلية التي تحمل الاسم نفسه، بل هي أيضا اثنين من المتغيرات المختلفة. تعديل واحد، فإنه لن يؤثر على قيمة أخرى.

مذكرة إذا كنت لا بتعريف متغير باستخدام الكلمة فار، ثم هو المتغير العالمي، على الرغم من أن يتم تعريفه ضمن الدالة.


دورة الحياة المتغيرة

نطاق المتغيرات العالمية والعالمي، وهذا هو، في جميع أنحاء برنامج جافا سكريبت، والمتغيرات العالمية في كل مكان.

في متغير أعلن في الداخل وظيفة، والعمل فقط داخل الدالة. هذه المتغيرات المحلية والمحلية في النطاق؛ المترجمة المعلمة وظيفة، فقط داخل العمل وظيفة.


مكافحة معضلة

إذا كنت تريد أن تصور في بعض الإحصاءات العددية، وهي العدادات المتوفرة في كل من وظائف.

يمكنك استخدام المتغيرات العالمية، وتحدد وظيفة يزداد العداد:

أمثلة

فار مكافحة = 0؛

إضافة وظيفة () {
عداد + = 1؛
}

إضافة ()؛
إضافة ()؛
إضافة ()؛

// عداد الآن 3

محاولة »

حدث تغيير قيمة العداد في تنفيذ وظيفة الاعلان ().

ولكن السؤال هو، أي برنامج نصي على الصفحة يمكن تغيير العداد، حتى لو لم يكن هناك دعوة لإضافة وظيفة ().

إذا أعلن وظيفة ضمن وصفة طبية، إن لم يكن استدعاء الدالة لن تعديل قيمة العداد:

أمثلة

إضافة وظيفة () {
فار مكافحة = 0؛
عداد + = 1؛
}

إضافة ()؛
إضافة ()؛
إضافة ()؛

// القصد من ذلك هو لإخراج 3، ولكنه لم يكن كذلك، والناتج هو 1!

محاولة »

سوف رمز أعلاه لا يخرج بشكل صحيح، في كل مرة أدعو لإضافة وظيفة ()، سيتم تعيين العداد إلى 1.

جافا سكريبت دالة مضمنة يمكن أن تحل هذه المشكلة.


وظائف متداخلة جافا سكريبت

ويمكن لجميع وظائف الوصول إلى المتغيرات العالمية.

في الواقع، في تفعيل جافا، يمكن لجميع وظائف الوصول إليها في الطابق النطاق.

جافا سكريبت تدعم وظائف متداخلة. وظيفة المتداخلة يمكن الوصول إلى المتغيرات على طبقة وظيفة.

في هذا المثال، الدالة المتداخلة الجمع () يمكن الوصول إلى مكافحة متغير وظيفة الوالد:

أمثلة

إضافة وظيفة () {
فار مكافحة = 0؛
وظيفة الجمع () {عداد + = 1؛}
PLUS ()؛
العودة مضادة.
}

محاولة »

اذا كنا نستطيع الحصول على وظيفة بالإضافة إلى خارج ()، حتى نتمكن من معالجة محنة العداد.

ونحن بحاجة أيضا إلى التأكد من أن مكافحة = 0 مرة واحدة فقط.

نحن بحاجة الإغلاق.


جافا سكريبت الإغلاق

حفظ المكالمات وظيفة نفسها تفعل؟ وهذه وظيفة تفعل؟

أمثلة

فار إضافة = (وظيفة () {
فار مكافحة = 0؛
عودة وظيفة () {عودة عداد + = 1؛}
}) ()؛

إضافة ()؛
إضافة ()؛
إضافة ()؛

3 // مكافحة

محاولة »

أمثلة تحليلية

إضافة كلمة متغير يدل على قيمة العائد من وظيفة تطلق على نفسها.

يتم تنفيذ وظيفة الدعوة النفس مرة واحدة فقط. وضع العداد إلى الصفر. والعودة إلى التعبير وظيفة.

إضافة متغير كدالة للاستخدام. وجزء كبير هو أنه يمكن الوصول إليها على نطاق وصفة طبية وظيفة طبقة.

وهذا ما يسمى إغلاق جافا سكريبت. أنه يحتوي على المتغير الخاص بحيث تصبح وظيفة ممكنة.

مكافحة بأن نطاق الحماية من وظيفة غير معروفة لا يمكن تعديلها من قبل طريقة الإضافة.

مذكرة إغلاق يمكن الوصول إليها على وظيفة واحدة نطاق متغير داخل وظيفة، حتى لو تم إغلاق وظيفة طبقة.