摘要:對象的和新對象是它表示瀏覽器的一個實例。在瀏覽器中,對象有雙重角色,它即是通過訪問瀏覽器窗口的接口,又是規(guī)定的對象。如果不存在在中,則取得和的值。
window對象
BOM的和新對象是window,它表示瀏覽器的一個實例。在瀏覽器中,window對象有雙重角色,它即是通過javascript訪問瀏覽器窗口的接口,又是ECMAScript 規(guī)定的 Global 對象。著意味著在網(wǎng)頁中定義的任何一個對象、變量和函數(shù),都以window作為其Global對象,因此有訪問parseInt()等方法。
全局作用域
由于 window 對象同時扮演著 ECMAScript中 Global 對象的角色,因此所有在全局作用域中聲明的變量、函數(shù)都會變成 window 對象的屬性和方法
var age = 29; function sayAge(){ alert(this.age); } alert(window.age); //29 sayAge(); //29 window.sayAge(); //29
我們在全局作用域中定義了一個變量 age 和一個函數(shù) sayAge() ,它們被自動歸在了 window 對象名下。于,可以通過 window.age 訪問變量 age,可以通過 window.sayAge() 訪問函數(shù) sayAge()由于 sayAge() 存在于全局作用域中,因此 this.age 被window.age ,最終顯示的仍然是正確的結(jié)果。
拋開全局變量會成為 window 對象的屬性不談,定義全局變量與window 對象上直接定義屬性還是有一點差別:全局變量不能通過 delete 操作符刪除,而直接在 window 對象上的定義的屬性可以。
var age = 29; window.color = "red"; //在 IE < 9 時拋出錯誤,在其他所有瀏覽器中都返回 false delete window.age; //在 IE < 9 時拋出錯誤,在其他所有瀏覽器中都返回 true delete window.color; //returns true alert(window.age); //29 alert(window.color); //undefined
另外,還要記住一件事:嘗試訪問未聲明的變量會拋出錯誤,但是通過查詢 window 對象,可以知道某個可能未聲明的變量是否存在。
//這里會拋出錯誤,因為 oldValue 未定義 var newValue = oldValue; //這里不會拋出錯誤,因為這是一次屬性查詢 //newValue 的值是 undefined var newValue = window.oldValue;
本章后面將要討論的很多全局 JavaScript 對象(如 location 和 navigator )實際上都是 window對象的屬性。
窗口關(guān)系及框架
如果頁面中包含框架,則每個框架都擁有自己的 window 對象,并且保存在 frames 集合中。在 frames集合中,可以通過數(shù)值索引(從 0 開始,從左至右,從上到下)或者框架名稱來訪問相應(yīng)的 window 對象。每個 window 對象都有一個 name 屬性,其中包含框架的名稱.
窗口位置
window.screenLeft : window.screenX;
var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY; ``` 這個例子運用三元操作符首先確定 screenLeft 和 screenTop 屬性是否存在,如果是(在 IE、Safari、Opera 和 Chrome 中),則取得這兩個屬性的值。如果不存在(在 Firefox 中),則取得screenX和 screenY 的值。
窗口大小
var pageWidth = window.innerWidth, pageHeight = window.innerHeight; if (typeof pageWidth != "number"){ if (document.compatMode == "CSS1Compat"){ pageWidth = document.documentElement.clientWidth; pageHeight = document.documentElement.clientHeight; } else { pageWidth = document.body.clientWidth; pageHeight = document.body.clientHeight; } }
導(dǎo)航和打開窗口
彈出窗口window.open()
安全限制
系統(tǒng)對話框
location對象
查詢字符串參數(shù)
function getQueryStringArg () { var qs = (window.location.search.length > 0 ? location.search.substring(1) : ""), args = {}, items = qs.length ? qs.split("&") : [], item = null, name = null, value = null, i = 0, len = items.length; for (i = 0; i < len; i++) { item = items[i].split("="); name = decodeURIComponent(item[0]); value = decodeURIComponent(item[1]); if (name.length) { args[name] = value; } } return args; }
位置操作
history對象//后退一頁 history.go(-1); //前進(jìn)一頁 history.go(1); //前進(jìn)兩頁 history.go(2); //后退一頁 history.back(); //前進(jìn)一頁 history.forward() if (history.length == 0){ //這應(yīng)該是用戶打開窗口后的第一個頁面 }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100579.html
摘要:包含是瀏覽器對象,全拼為包含什么包含以下打開窗口要打開的地址新窗口的位置默認(rèn)鏈接到新頁面關(guān)閉窗口只能關(guān)閉從網(wǎng)頁中打開的頁面系統(tǒng)對話框系統(tǒng)彈窗確認(rèn)取消彈窗彈出能輸入文本的對話框定時器定時器清除間接同上對象包含大量有關(guān)瀏覽器的信息,在檢測瀏 javascript包含(ecmascriptes3,5,6)bom dom Bom是瀏覽器對象,全拼為Browser Object Model Bo...
摘要:包含是瀏覽器對象,全拼為包含什么包含以下打開窗口要打開的地址新窗口的位置默認(rèn)鏈接到新頁面關(guān)閉窗口只能關(guān)閉從網(wǎng)頁中打開的頁面系統(tǒng)對話框系統(tǒng)彈窗確認(rèn)取消彈窗彈出能輸入文本的對話框定時器定時器清除間接同上對象包含大量有關(guān)瀏覽器的信息,在檢測瀏 javascript包含(ecmascriptes3,5,6)bom dom Bom是瀏覽器對象,全拼為Browser Object Model Bo...
摘要:一對象獲取獲取服務(wù)器名稱和端口號獲取服務(wù)器名稱和端口號獲取服務(wù)器名稱和端口號獲取不帶端口號的服務(wù)器名稱獲取不帶端口號的服務(wù)器名稱獲取整個獲取整個返回中的目錄和或文件名返回中的目錄和或文件名返回的端口號返回的端口號返回的協(xié)議返回的協(xié)議返回的查 一、location對象 http://localhost:8881/javascript/BOM/window.html?name=bob&ag...
摘要:簡介瀏覽器對象模型通過對象來訪問瀏覽器當(dāng)前文件的框架集合瀏覽器環(huán)境信息瀏覽器及其相關(guān)功能的信息瀏覽器本地信息屬性等方法刷新有歷史記錄替換頁面無歷史記錄大于向后跳轉(zhuǎn)個界面是的屬性本身是函數(shù)類型的屬性,賦值時需要接受一個函數(shù)當(dāng)頁面加載完畢才會執(zhí) BOM簡介 BOM Browser Object Model 瀏覽器對象模型 showImg(https://segmentfault.com...
摘要:對象基本介紹是最有用的對象之一,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息。設(shè)置或返回主機名和當(dāng)前的端口號。設(shè)置或返回當(dāng)前的協(xié)議。另外,也可以修改對象的其他屬性來改變。并且用戶不能返回到值錢的頁面。 location 對象基本介紹 location 是最有用的 BOM 對象之一,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息。還提供了一些導(dǎo)航功能。下面是 location 對象的所有屬性: 假...
閱讀 835·2023-04-25 22:13
閱讀 2347·2019-08-30 15:56
閱讀 2229·2019-08-30 11:21
閱讀 658·2019-08-30 11:13
閱讀 2024·2019-08-26 14:06
閱讀 1962·2019-08-26 12:11
閱讀 2293·2019-08-23 16:55
閱讀 542·2019-08-23 15:30