Pertama lihat kod sumber kami. Salin kod Kod adalah seperti berikut: ... console.log(ini); <br> </head> <badan> <br> ... </body> </html><br> <br><br> <br>Kami tahu bahawa apabila halaman ini dibuka melalui penyemak imbas, skrip yang terkandung dalam teg </skrip> <br>Kemudian mari kita lihat console.log(ini); <br> <br>Dalam Google Chrome kita melihat:<br> <br><br> </div> Dalam Mozilla Firefox kita melihat:<p> </p> <p></p> <p>Kita semua telah melihat Tetingkap keluaran, jadi adakah Tetingkap ini sama dengan tetingkap? </p> <p>Sebelah ujian kami<img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659313.jpg"> </p> <p></p> <p><img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659324.jpg">Salin kod</p> <p></p> Kod adalah seperti berikut:<p></p> <p> <script type="text/javascript" charset="utf-8"> console.log(ini); </p> <div class="codetitle"> console.log('ini == tetingkap ? ', ini == tetingkap <span> </skrip> <a style="CURSOR: pointer" data="89659" class="copybut" id="copybut89659" onclick="doCopy('code89659')"><u> </u>Jalankan kod dan keluarkan == window ini ?true , yang bermaksud Window== window , adakah ini benar-benar berlaku? </a> </span> </div>Untuk memahami hubungan antara mereka, kami terus menguji <div class="codebody" id="code89659"> <br><br><br><br><br>Salin kod</div> <p> Kod adalah seperti berikut:<br></p> <p> <script type="text/javascript" charset="utf-8"> console.log('ini = ', ini); console.log('ini == tetingkap ?', ini == tetingkap </p> console.log('window = ', tetingkap <p> console.log('Window = ', Window) </p> <div class="codetitle"> console.log('Tetingkap == tetingkap ?', Tetingkap == tetingkap) <span> </skrip> <a style="CURSOR: pointer" data="67633" class="copybut" id="copybut67633" onclick="doCopy('code67633')"><u> </u>Lihat pada output penyemak imbas:</a> </span>Google Chrome :</div> <div class="codebody" id="code67633"> <br><br><br> Mozilla Firefox : <br> <br> <br><br><br> </div> Daripada hasil keluaran kita boleh simpulkan, <p> </p> <p><br></p> <p>Salin kod<img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659325.jpg"><br><br> Kod adalah seperti berikut:</p> <p><img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659326.jpg"> ini menunjuk ke objek Window; ini juga sama dengan objek tetingkap; tetingkap juga menunjuk ke objek Tetingkap; Tetingkap menghala ke Tetingkap{}, iaitu objek yang disediakan oleh penyemak imbas <br> Tetingkap tidak sama dengan tetingkap </p> <p><br> </p> <p>Mengapa ini berlaku? </p> <p>Kami melihat struktur objek Tetingkap dalam konsol pelayar </p> <p><img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659327.jpg"><br> </p> <p><img alt="" src="http://files.jb51.net/file_images/article/201411/201411121659328.jpg"></p> <p>Ternyata objek Window mengandungi beberapa API yang dilaksanakan oleh pengeluar penyemak imbas, seperti sessionStorage standard dalam html5 <br> Ia juga mempunyai atribut tetingkap, dan nilai atribut ini menghala ke objek Tetingkap <br> Pemahaman saya: Objek Window menyediakan pengilang penyemak imbas secara langsung Kami tidak boleh mengendalikan sifat objek Window API baharu yang ditambahkan oleh Window akan ditunjukkan dalam objek tetingkap;<br> Sifat yang kami kendalikan pada tetingkap akan ditunjukkan dalam objek Tetingkap. <br> Contohnya, tentukan tetingkap pembolehubah global.a = 'aaa';</p> <p>Semua objek JavaScript wujud dalam persekitaran berjalan ini sendiri juga merupakan objek, dipanggil "objek peringkat atas". Ini bermakna semua objek dalam JavaScript adalah bawahan kepada "objek peringkat atas". Persekitaran berjalan yang berbeza mempunyai "objek peringkat atas" yang berbeza Dalam persekitaran pelayar, objek peringkat atas ini ialah objek tetingkap. </p> <p>Semua pembolehubah global persekitaran penyemak imbas adalah sifat objek tetingkap. </p> <p>Tetingkap boleh difahami sebagai persekitaran konteks JavaScriptContext. </p>