استخدام المتغيرات داخل وخارج الدالة

استخدام المتغيرات داخل وخارج الدالة

استخدام المتغيرات داخل وخارج الدالة
استخدام المتغيرات داخل وخارج الدالة

تعرفنا على الدوال كبلوك مستقل من الأوامر التي يتم تنفيذها مرة واحدة بمجرد استدعاء الدالة التي تحتوي على الأوامر، وقد تقوم بتعريف متغيرات بداخل حدود الدالة، أي بداخل القوسين المتعرجين} { اللذان يحطان بمجموعة الأوامر التي تتكون منها الدالة، وما نريد أن نوضحه هنا، هل هذه المتغيرات التي تريد أن تقوم بتعريفها بداخل الدالة يمكن استخدامها خارح الدالة ؟، وهل يمكن استخدام متغيرات بداخل الدالة تم تعريفها خارج حدود هذه الدالة ؟، وماذا يحدث في حالة ما إذا كان هناك متغير تم تعريفه خارج الدالة، وهناك متغير آخر تم تعريفه بداخل الدالة والمتغيران يحملان نفس الاسم ؟.

بوجه عام، المتغير الذي تم تعريفه خارج الدالة يمكن استخدامه في أي مكان في الإسكريبت سواء داخل الدالة أو خارج الدالة، أي أنه يمكن أن نستخدم متغير بداخل الدالة تم تعريفه خارج الدالة، ويسمي المتغير الذي تم تعريفه خارج الدالة بمتغير عام Global Variable يمكن استخدامه في أي مكان في الإسكريبت، أما المتغير الذي يتم تعريفه بداخل الدالة فهذا متغير محلي Local Variable لا يمكن استخدامه إلا في داخل حدود الدالة، ولا تتعرف عليه جافا سكريبت خارج الدالة، وعند استخدام متغير خارج الدالة تم تعريفه بداخل الدالة تظهر رسالة خطأ ويتوقف الإسكريبت كله عن التنفيذ، وبناء على ذلك ومن منطلق أن الدالة بناء مستقل بذاته، يمكن استخدام متغيرين يحملان نفس الاسم كل منهما في دالة مستقلة بدون حدوث أي مشاكل في الإسكريبت، أما بداخل الدالة الواحدة فلا يمكن استخدام متغيران يحملان نفس الاسم.

وما ينطبق على المتغيرات ينطبق على معاملات الدوال، وهي أسم المتغير الذي يتم وضعه بداخل قوسي الدالة ( ) في السطر الأول من الكود الخاص بإنشاء الدالة، فهذا المتغير أيضًا لا يمكن استخدامه خارج الدالة ولا تتعرف عليه جافا سكريبت خارج حدود الدالة، كما يمكنك تعريف متغير بداخل الدالة يحمل نفس أسم معامل الدالة.

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

ومع ذلك يمكن استخدام نوع من المتغيرات بداخل وخارج الدالة، وهو المتغيرات العامة التي تستخدم الكلمة المفتاحية global عند تعريف هذه المتغيرات، فهذا النوع من المتغيرت يمكن استخدامه في أكثر من دالة في نفس الوقت

 

m2pack.biz

استخدام المتغيرات داخل وخارج الدالة

استخدام المتغيرات داخل وخارج الدالة

استخدام المتغيرات داخل وخارج الدالة
استخدام المتغيرات داخل وخارج الدالة

تعرفنا على الدوال كبلوك مستقل من الأوامر التي يتم تنفيذها مرة واحدة بمجرد استدعاء الدالة التي تحتوي على الأوامر، وقد تقوم بتعريف متغيرات بداخل حدود الدالة، أي بداخل القوسين المتعرجين} { اللذان يحطان بمجموعة الأوامر التي تتكون منها الدالة، وما نريد أن نوضحه هنا، هل هذه المتغيرات التي تريد أن تقوم بتعريفها بداخل الدالة يمكن استخدامها خارح الدالة ؟، وهل يمكن استخدام متغيرات بداخل الدالة تم تعريفها خارج حدود هذه الدالة ؟، وماذا يحدث في حالة ما إذا كان هناك متغير تم تعريفه خارج الدالة، وهناك متغير آخر تم تعريفه بداخل الدالة والمتغيران يحملان نفس الاسم ؟.

بوجه عام، المتغير الذي تم تعريفه خارج الدالة يمكن استخدامه في أي مكان في الإسكريبت سواء داخل الدالة أو خارج الدالة، أي أنه يمكن أن نستخدم متغير بداخل الدالة تم تعريفه خارج الدالة، ويسمي المتغير الذي تم تعريفه خارج الدالة بمتغير عام Global Variable يمكن استخدامه في أي مكان في الإسكريبت، أما المتغير الذي يتم تعريفه بداخل الدالة فهذا متغير محلي Local Variable لا يمكن استخدامه إلا في داخل حدود الدالة، ولا تتعرف عليه جافا سكريبت خارج الدالة، وعند استخدام متغير خارج الدالة تم تعريفه بداخل الدالة تظهر رسالة خطأ ويتوقف الإسكريبت كله عن التنفيذ، وبناء على ذلك ومن منطلق أن الدالة بناء مستقل بذاته، يمكن استخدام متغيرين يحملان نفس الاسم كل منهما في دالة مستقلة بدون حدوث أي مشاكل في الإسكريبت، أما بداخل الدالة الواحدة فلا يمكن استخدام متغيران يحملان نفس الاسم.

وما ينطبق على المتغيرات ينطبق على معاملات الدوال، وهي أسم المتغير الذي يتم وضعه بداخل قوسي الدالة ( ) في السطر الأول من الكود الخاص بإنشاء الدالة، فهذا المتغير أيضًا لا يمكن استخدامه خارج الدالة ولا تتعرف عليه جافا سكريبت خارج حدود الدالة، كما يمكنك تعريف متغير بداخل الدالة يحمل نفس أسم معامل الدالة.

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

ومع ذلك يمكن استخدام نوع من المتغيرات بداخل وخارج الدالة، وهو المتغيرات العامة التي تستخدم الكلمة المفتاحية global عند تعريف هذه المتغيرات، فهذا النوع من المتغيرت يمكن استخدامه في أكثر من دالة في نفس الوقت

 

m2pack.biz