欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Javascript window對象詳解

 更新時(shí)間:2014年11月12日 17:16:14   投稿:hebedich  
本文詳細(xì)介紹了JavaScript的window對象。Windows對象是一個(gè)頂層對象,而不是另一個(gè)對象的屬性即瀏覽器的窗口。

首先看我們的源代碼。

復(fù)制代碼 代碼如下:

<!DOCTYPE html> 
<html> 
    <head> 
        <meta charset="utf-8" /> 
        <title>深入理解Javascript</title> 
        <script type="text/javascript" charset="utf-8"> 
            console.log(this); 
        </script> 
    </head> 
    <body> 
        <h1>深入理解Javascript</h1> 
    </body> 
</html>

我們知道,通過瀏覽器打開這個(gè)頁面,包含在<script> </script>標(biāo)簽中的 腳本會(huì)被執(zhí)行,

那我們看一下 console.log(this); 這個(gè)this 到底指向的是誰呢?

在Google Chrome 中我們看到:

在Mozilla Firefox 中我們看到:

我們都看到輸出的Window,那這個(gè)Window 與window是不是相等呢?

接著我們的測試

復(fù)制代碼 代碼如下:

<script type="text/javascript" charset="utf-8"> 
    console.log(this); 
    console.log('this == window ? ', this == window);  
</script> 

運(yùn)行代碼,輸出this == window ?true ,這說明 Window== window,真的是這樣嗎?

為了搞清楚它們之間的關(guān)系,我們又接著測試

復(fù)制代碼 代碼如下:

<script type="text/javascript" charset="utf-8"> 
    console.log('this = ', this); 
    console.log('this == window ?', this == window); 
    console.log('window = ', window); 
    console.log('Window = ', Window) 
    console.log('Window == window ?', Window == window) 
</script>

看瀏覽器輸出:

Google Chrome :


Mozilla Firefox :


從輸出結(jié)果我們可以推出,

復(fù)制代碼 代碼如下:

this是指向Window對象;
this也等于window對象;
window也是指向Window對象;
Window是指向Window{},是瀏覽器提供的對象;
Window不等于window;

為什么會(huì)這樣呢?

我們在瀏覽器控制臺(tái)中查看Window對象的結(jié)構(gòu);


原來 Window對象包含的一些瀏覽器廠商實(shí)現(xiàn)的API,比如 html5中 的規(guī)范 sessionStorage;
它還有一個(gè)window的屬性,這個(gè)屬性的值就是指向Window對象;
我的理解:Window對象 是為瀏覽器廠商服務(wù)的,我們不能直接操作Window對象的屬性,Window新增的API會(huì)反映到 window 對象中;
我們操作window 的屬性 會(huì)反映到 Window 對象中。
比如 定義一個(gè)全局變量 window.a = 'aaa';

JavaScript的所有對象都存在于一個(gè)運(yùn)行環(huán)境之中,這個(gè)運(yùn)行環(huán)境本身也是對象,稱為“頂層對象”。這就是說,JavaScript的所有對象,都是“頂層對象”的下屬。不同的運(yùn)行環(huán)境有不同的“頂層對象”,在瀏覽器環(huán)境中,這個(gè)頂層對象就是window對象。

所有瀏覽器環(huán)境的全局變量,都是window對象的屬性。

可以把window理解成JavaScriptContext 上下文環(huán)境。

相關(guān)文章

  • Javascript 入門基礎(chǔ)學(xué)習(xí)

    Javascript 入門基礎(chǔ)學(xué)習(xí)

    習(xí).net已經(jīng)近2年了,最近學(xué)習(xí)Ajax時(shí)發(fā)現(xiàn)自己的很多技術(shù)功底很是欠缺,比如JavaScript。今后我會(huì)將我正在學(xué)習(xí)的也寫成筆記,有時(shí)間的話將以前的東西整理整理也傳上來。
    2010-03-03
  • JavaScript 事件綁定及深入

    JavaScript 事件綁定及深入

    這篇文章主要介紹了JavaScript 事件綁定及深入,需要的朋友可以參考下
    2015-04-04
  • ES6基礎(chǔ)語法之對象介紹

    ES6基礎(chǔ)語法之對象介紹

    這篇文章介紹了ES6中對象的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • JavaScript基本編碼模式小結(jié)

    JavaScript基本編碼模式小結(jié)

    本文中筆者整理的這些模式包含了編寫JavaScript代碼時(shí)一些常用的方法或者小技巧,可以幫助初學(xué)JavaScript的同學(xué)迅速提升代碼質(zhì)量
    2012-05-05
  • javascript基礎(chǔ)知識(shí)整理

    javascript基礎(chǔ)知識(shí)整理

    這篇文章對于剛開始學(xué)習(xí)js的朋友,非常有幫助,主要知識(shí)點(diǎn)都已經(jīng)整理好了。
    2010-06-06
  • Javascript獲取窗口(容器)的大小及位置參數(shù)列舉及簡要說明

    Javascript獲取窗口(容器)的大小及位置參數(shù)列舉及簡要說明

    Javascript獲取窗口(容器)的大小及位置一系列的東西比較多,容易混淆,在這里列舉及簡要說明下,需要的朋友可以參考下
    2012-12-12
  • 在javascript中創(chuàng)建對象的各種模式解析

    在javascript中創(chuàng)建對象的各種模式解析

    下面小編就為大家?guī)硪黄趈avascript中創(chuàng)建對象的各種模式解析。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧
    2016-05-05
  • JavaScript 頁面坐標(biāo)相關(guān)知識(shí)整理

    JavaScript 頁面坐標(biāo)相關(guān)知識(shí)整理

    對于頁面的一些坐標(biāo)與位置分析,一般需要控制層的位置的朋友有幫助。需要的朋友可以參考下。
    2010-01-01
  • TypeScript中的裝飾器用法

    TypeScript中的裝飾器用法

    這篇文章介紹了TypeScript中裝飾器的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 淺談Web頁面向后臺(tái)提交數(shù)據(jù)的方式和選擇

    淺談Web頁面向后臺(tái)提交數(shù)據(jù)的方式和選擇

    下面小編就為大家?guī)硪黄獪\談Web頁面向后臺(tái)提交數(shù)據(jù)的方式和選擇。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-09

最新評(píng)論