資源描述:
《外文翻譯-基于ASPNET的電子商務網(wǎng)站開發(fā)》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在工程資料-天天文庫。
1、Web瀏覽器環(huán)境要理解客戶端JavaScript,必須理解Web瀏覽器所提供的編程環(huán)境。接下來的章節(jié)介紹的是在Web瀏覽器提供的編程環(huán)境下的三個重要特性:?作為全局對象的Window對彖和客戶端JavaScript代碼的全局執(zhí)行環(huán)境。?客戶端對象的層次和構成它的一部分的文檔對彖模型(DOM)。?事件驅動的編程模型。這些小節(jié)之后將討論JavaScript在Web應用程序開發(fā)中的扮演的適當角色。1.作為全局執(zhí)行環(huán)境的Window對象Web瀏覽器的主要任務是在一個窗口中顯示HTML文檔內(nèi)容。在客戶端JavaScript中,表示
2、HTML文檔的是Document對象,Window對象代表顯示該文檔的窗口(或幀)。雖然對于客戶端JavaScript來說,Document對彖和Window對象都是客戶端編程屮的全局對彖?;貞浺幌?,我們在第四章屮介紹過,JavaScript的每一個實現(xiàn)都有一個全局對象,該對象位于作用域鏈的頭部。這個全局對象的屬性也就是全局變量??蛻舳薐avaScript的Window對象還是全局對象,它定義了大量的屬性和方法,允許用戶對Web瀏覽器的窗口進行操作。它還定義了引用其他重要對象的屬性,如引用Document對象的docum
3、ent屬性。此外,Window對象還包括兩個自我引用的屬性:window和self??梢允褂眠@兩個全局變量來直接引用Window對象。由于在客戶端JavaScript屮的Window對象是全局對象,因此所有的全局變量都被定義為該對彖的屈性。例如,下面的兩行代碼實際上執(zhí)行的是相同的功能:varanswer=42;//定義并初始化了一個全局變量window.answer=42;//創(chuàng)建Window對象的一個新屬性Window對象代表的是一個Web瀏覽器窗口(或者窗口中的一個幀,在客戶端JavaScript中,頂層窗口與幀本質
4、上是等價的)。編寫使用多個窗口(或幀)的JavaScript應用程序是可能的。應用程序出現(xiàn)的每一個窗口都對應一個Window對象,而且都為客戶端JavaScript代碼定義了一個唯一的執(zhí)行環(huán)境。換句話說,只在一個窗口的JavaScript代碼屮定義的全局變量并不真的是算是一個全局變量,但是,另一個窗口屮的Javascript代碼卻可以存取到第一個窗口定義的全局變量,服從于某種安全限制條件。2.客戶端的對象層次和文檔對象模型(DOM)Window對象是客戶端JavaScript屮的一個關鍵對象。其他所有客戶端對象都是通過這
5、個對象訪問。例如,每個Window對象都定義了一個document屬性,該丿皿性應用與這個窗口關聯(lián)在一起的Document對象,location屬性引用與該窗口關聯(lián)在一起的location對象。當一個Web瀏覽器顯示一個帶幀的文檔,頂層Window對象的framesf]數(shù)組包含了對代表幀的Window對象的引用。因此,在客戶端JavaScript中,表達式document代表的是當前窗口的Document對象,而表達式frames[1].document應用的是當前窗口的第二個子幀的Document對象。Document
6、對象(以及其他對象的客戶端JavaScript對象)也可以擁有應用其他對象的屬性。例如,每個Document對象都有一個都有一個forms[]數(shù)組,它包含的是代表該文檔屮出現(xiàn)的所有HTML表單對彖的Form對彖。耍引用這些表單,可以編寫如下的代碼:window.document.formsfO]繼續(xù)使用上面的例了,每個Form對象都有一個element[]數(shù)組,該數(shù)組包含了出現(xiàn)在表單中的各種HTML表單元素(如輸入域、按鈕等)的對象。在極其特殊的情況下,可以編寫引用整個對象連接底部的對象的代碼,其表達式復雜度如下:par
7、ent.frames[0].document.forms[0].elements[3].options[2].text;通過前面的介紹我們已經(jīng)知道,Window對象是位于作用域連接頭部的全局對JavaScript中的所有有客戶端對彖都是作為其他對象的屬性來存取的。就是說,存在一個JavaScript對象的層次,這個層次的根是一個Window對彖。圖13-1說明了這一層次,仔細研究這幅圖,理解其中的層次以及它所包含的對象,對成功設計客戶端JavaScript的程序至關重要。本書余卜?的章節(jié)都用與描述圖中所示的對象的細節(jié)。s
8、elfrwindow,parent,topWindowobjedsnavigatorNavigatorobjwtframes[]dreyofWindowobjea$forms()IarrayofFormobjectselements!]arrayofHTMLformelementobjects:TheICurrent