شیء window
پیشخوان یک زنگ دارد. پاراگرافش #bell است و اول blank است. فرمی در کار نیست.
window شیء همین زبانه است. سند صفحه، عرض دید، و هر var که در اسکریپت ساده بسازی به آن چسبیدهاند. let نمیچسبد. صفحه چهار چیز را میخواند و کنار هم میگذارد. خط میشود same / 4 / undefined / number.
این برگهٔ چای نیست
صفحهٔ قبل مهمان خالی و فنجان بیرون از ۱ تا ۳ را رد میکرد. خطش 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 را میسازد. خواندنش عدد ۴ است. 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را بخوان. زنگ ۴ را نشان میدهد.let kettle = 1را بساز وwindow.kettleرا بخوان. زنگ undefined را نشان میدهد. خودkettleهنوز ۱ است.typeof window.innerWidthرا بخوان. زنگ number را نشان میدهد.- خط صفحه را بخوان: same / 4 / undefined / number.
اشتباههای پشت پیشخوان
زنگ یکی از همین کلمهها را نشان میدهد، نه نام مهمان.
- انتظار اینکه
window.kettleبرابر ۱ باشد - انتظار اینکه
window.cupsبرابر undefined باشد - گرفتن
innerWidthبهجای متن - نوشتن در
location.hrefو رفتن از این صفحه - خواندن خط بهصورت need guest / ok
این را نگه دار
window.documentوdocumentیک شیء هستندvar cups = 4از راهwindow.cupsخوانده میشودlet kettle = 1ویژگیwindow.kettleنمیسازدtypeof window.innerWidthبرابر number است- خط صفحه same / 4 / undefined / number است
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود