كائن window
للدكان جرس. هو فقرة #bell وتبدأ blank. لا نموذج في هذه الصفحة.
window هو كائن هذا اللسان. المستند وعرض النافذة وأي var في سكربت عادي تجلس عليه. let لا يجلس. تقرأ الصفحة أربعة أشياء وتضمّها. السطر same / 4 / undefined / number.
ليست قسيمة الشاي
الصفحة السابقة رفضت ضيفًا فارغًا وعدد فناجين خارج 1 إلى 3. سطرها كان need guest / ok. هذه الصفحة لا تنظر إلى #guest ولا إلى حقل #cups. الاسم cups هنا var، لا حقل.
السؤال مختلف: ماذا تصل إليه عبر window؟
مستند واحد
document ليس نسخة ثانية. هو window.document. الجرس الذي يُوجد عبر window.document هو الجرس الذي يُوجد عبر document.
let bell = window.document.getElementById("bell");
let also = document.getElementById("bell");
bell.textContent = window.document === document ? "same" : "no";
console.log(bell.textContent);
console.log(bell === also);
السجل same ثم true. مستند واحد وجرس واحد.
var يُعلَّق على النافذة
var cups = 4 في هذا السكربت يصنع window.cups. قراءته العدد 4. String يحوّله إلى نص من أجل الجرس فقط.
var cups = 4;
let bell = document.getElementById("bell");
bell.textContent = String(window.cups);
console.log(bell.textContent);
السجل 4. الأربعة متغير، لا حقل نموذج.
let يبقى خارج النافذة
let kettle = 1 موجود. ليس خاصية لـ window. window.kettle هو undefined، وString يصنع الكلمة undefined.
let kettle = 1;
let bell = document.getElementById("bell");
bell.textContent = String(window.kettle);
console.log(bell.textContent);
console.log(kettle);
السجل undefined ثم 1. الغلاية موجودة. لا تُعلَّق على window.
العرض رقم
window.innerWidth هو عدد بكسلات CSS عبر نافذة العرض. typeof تلك القيمة "number". ليست نصًا كما أن value لحقل إدخال نص.
let bell = document.getElementById("bell");
bell.textContent = typeof window.innerWidth;
console.log(bell.textContent);
السجل number. عدد البكسل يتبدل مع النافذة. النوع لا يتبدل.
اترك العنوان
window.location.href عنوان هذا اللسان، وهو نص. قراءته آمنة. وضع عنوان جديد فيه ينقل المتصفح بعيدًا. لا مقطع يكتب في href.
أربع قراءات، لا نموذج
لا قصّ لاسم هنا ولا فحص لمدى. القراءات الأربع: هل المستند الكائن نفسه، ثم var، ثم let الغائب، ثم نوع العرض. String(undefined) هو الكلمة undefined، لا جرس فارغ.
السطر تحت الجرس
السكربت في آخر body. يصرّح var cups = 4 وlet kettle = 1، ثم يدفع أربع قراءات: تطابق المستند، وwindow.cups، وwindow.kettle، وtypeof window.innerWidth.
<!DOCTYPE html>
<html>
<head>
<title>shop-bell — page</title>
</head>
<body>
<p id="bell">blank</p>
<p id="line">…</p>
<script>
var cups = 4;
let kettle = 1;
let seen = [];
seen.push(window.document === document ? "same" : "no");
seen.push(String(window.cups));
seen.push(String(window.kettle));
seen.push(typeof window.innerWidth);
document.getElementById("line").textContent = seen.join(" / ");
</script>
</body>
</html>
السطر same / 4 / undefined / number. المستند تطابق. var ظهر على window. let لم يظهر. نوع العرض number. كلمة blank ذهبت. need guest / ok هي الصفحة السابقة.
عند المنضدة
- قارن
window.documentمعdocument. الجرس يعرض same. - صرّح
var cups = 4واقرأwindow.cups. الجرس يعرض 4. - صرّح
let kettle = 1واقرأwindow.kettle. الجرس يعرض undefined.kettleنفسه ما زال 1. - اقرأ
typeof window.innerWidth. الجرس يعرض number. - اقرأ سطر الصفحة: same / 4 / undefined / number.
أخطاء عند المنضدة
الجرس يعرض إحدى تلك الكلمات، لا اسم ضيف.
- توقع أن
window.kettleيساوي 1 - توقع أن
window.cupsيساوي undefined - معاملة
innerWidthكنص - الكتابة في
location.hrefومغادرة الصفحة - قراءة السطر كـ need guest / ok
احتفظ بهذا
window.documentوdocumentكائن واحدvar cups = 4يُقرأ كـwindow.cupslet kettle = 1لا يصنعwindow.kettletypeof window.innerWidthهو number- سطر الصفحة same / 4 / undefined / number
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى