في البداية سنتحدث عن الكائنات الموجودة أصلا في الجافا سكريبت ,حيث أن الجافا سكريبت تعتمد في عملها على مجموعة من الكائنات الموجوده بداخلها .
في الدروس السابقة إستخدمنا كثيرا هذه الدالة
document.write() إذا نظرت لهذه الدالة ستجد أنها تتكون من
document ثم نقطة
"."ثم
write() .
و الآن حان الوقت لتعلم أن
document عبارة عن كائن
Object هذا الكائن يحتوى داخله على مجموعة من المتغيرات و الدوال الخاصة بمحتوى صفحة الويب نفسها و منها الدالة
write() التي استخدمناها كثيرا ,و هناك مفهومين خاصين بالكائنات لابد من ذكرهم الآن:
- الطرق (methods):و هو المسمى الذي يطلق على الدالة الموجودة داخل كائن أي أن الmethod (الطريقة) و الـ function شيء واحد ,كل الفرق أن الmethod تكون موجودة داخل كائن مثل دالة write() .
- الخصائص (Properties):وهو الإسم الذي نطلقه على المتغيرات الموجوده داخل الكائن.و أيضا المتغيرات و الخصائص شيء واحد و الفرق أن الخصائص موجودة داخل كائن .
لكي تصل إلى دالة داخل كائن أو خاصية داخل كائن يجب أن تستخدم النقطة
"." فتكتب أولا إسم الكائن ثم بعد النقطه
- تكتب إسم الدالة بعده قوسين () مثل document.write() و التي تطبع نص في الصفحه.
- أو الخاصية بدون أن تتبعها بقوسين مثل document.fileCreatedDate و هي الخاصية التي ترجع لك تاريخ إنشاء صفحة الـ html المحمله حاليا .
يمكن أن يكون كائن ما خاصية في كائن آخر أي أنه يمكن لكائن أن يحتوى كائن آخر داخله.
و الآن انظر للمخطط الموجود بالأسفل و الذي يوضح الكائنات التي تتكون منها الجافا سكريبت مقسمة حسب نوعها ووظيفتها
أنظر للشكل :
الشكل يوضح المخطط الهرمي لللكائنات الموجودة أصلا في الجافا سكريبت و كل مستطيل في الشكل يمثل كائن كما ترى,
تتفرع من بعض الكائنات كائنات أخرى ,و كما ترى أن هناك تقسيمين أساسين:
Language :و يحتوي على كائنات خاصة باللغة نفسها وليست متعلقة بالمتصفح و محتويات الصفحة.
و سنشرح اثنين من هذه الكائنات كمثال في هذا الفصل وهما
math و
date لكي يتضح لك من خلالهم بشكل أكبر ما هو الكائن عمليا وكيفية التعامل معاهم أما البقية فسيأتي دورهم في الفصول القادمه.
navigator :و يحتوى على الكائنات الخاصة بالمتصفح و محتوياته .
و أكثر ما يهمنا فيه هو الكائن document الذي يخص صفحة الويب نفسها وما تحتويه من النصوص و الصور و الحقول
(forms) و الروابط و غيرها و سندرسه بالتفصيل في فصل خاص به فيما يسمى بالـ
Dom .
و الكائن
window هو الذي يحتوى كل المتغيرات و الدوال التي تقوم بتعريفها مباشرة و يحتوى في داخله أيضا كل الكائنات الأخرى بمعنى :
إن قمت بتعريف متغير هكذا
var myname="molhm"
فإنه يمكن إستدعاءه
هكذا
window. myname
أو قمت بتعريف دالة هكذا
function myfunc(){
alert("hay");
}
فإنه يمكن منادتها هكذا
window.myfunc()
و كذلك دالة alert التي قمنا بإستخدامها في السابق يمكن إستدعائها بهذه الطريقة
window.alert()
و لكن للأختصار و للتسهيل يكفي إستخدام إسم المتغير أو إسم الدالة عندما تكون موجودة مباشرة في الكائن window .
فيكفي أن نكتب إسم المتغير أو إسم الدالة بدون أن يسبقه
window. .
أما لكي تصل لمتغير داخل كائن و الكائن هذا داخل كائن أكبر فيكون الأمر هكذا و لنفترض أننا نريد أن نصل إلى خاصية (أي متغير )داخل الكائن form حسب المخطط بالأعلى فإنه يمكننا ذلك بهذه الطريقة .
document.forms.إسم الخاصية
و ستتضح الأمور أكثر بعد أن ندرس بعض الأمثلة على الكائنات