مجال المتغيرات :
نقصد بمجال المتغيرات هو اتاحة هذه المتغيرات لكامل الكود البرمجي او لتابع ضمن الكود البرمجي فقط فالمتغير الذي يتم التصريح عنه خارج التابع يكون متاح لكل الكود البرمجي ولكل توابعه وهنا يسمى هذا المتغير بالمتغير العام ويصرح عنه بالكلمة المحجوزة var , اما المتغير الذي يتم التصريح عنه داخل التابع يكون متاحا فقط داخل التابع ولا يكون متاحا للكود البرمجي خارج هذا التابع ويسمى هذا المتغير بالمتغير المحلي .
طريقة لتحميل الملف الخارجي عند الطلب :
اذا اردنا استخدام الكود البرمجي اكثر من مرة داخل الصفحة او في حال كان الكود البرمجي طويلا جدا وكتابته داخل الصفحة يصبح مربكا جدا ويشكل عبء على ملف الصفحة الاصلي او في حال استخدام الكود البرمجي في اكثر من صفحة عندها لابد من وضع الكود البرمجي في ملف خارجي وحفظه بالامتداد js وتضمينه داخل الصفحة على النحو التالي :
<script type="text/javascript" src="filename.js"></script>
حيث ان الخاصية src تشير الى المسار الذي يضمن لنا الوصول الى ملف الكود البرمجي .
باستخدام التوابع وبعض الطرق يمكننا ادراج ملف الجافا سكربت عند الطلب فقط على النحو التالي :
نقوم بانشاء ملف جافا سكربت ونكتب بداخله
alert("Hello ! I come from external file .");
ونحفظه بالامتداد ce.js
نقوم بانشاء العنصر script عن طريق الامر createElement ونضيف له الخاصيتين type و src مع قيمهما عن طريق الامر setAttribute ثم نضيف هذا العنصر مع خصائصه الى قسم الرأس head في صفحة الانترنت عن طريق الامر appendChild لننظر الى المثال التالي :
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <title>Creat Elements</title> <script type="text/javascript"> function ce(){ var e = document.createElement("script"); e.setAttribute("type","text/javascript"); e.setAttribute("src","ce.js"); document.getElementsByTagName("head")[0].appendChild(e); } </script> </head> <body> <button onclick="ce();">insert javascript</button> </body> </html>
عند الضغط على الزر insert javascript سيتم تنفيذ التابع ce وبالتالي انشاء العنصر script ومن ثم استدعاء الملف ce.js لتنفيذ الكود الذي بداخله .
ارسال المعلومات للتابع :
وما نقصده هنا هو الحصول على توابع ديناميكية تعطي النتائج المطلوبة منها بناءا على معلومات نرسلها اليها عبر بارامترات التابع …