JavaScript 學(xué)習(xí)筆記(Window對象)《犀牛書》

JavaScript客戶端之Window對象

1. 計(jì)時器

setTimeout(fn,time);//經(jīng)過 time 毫秒后調(diào)用 fn 函數(shù)
setInterval(fn,time); //經(jīng)過 time 毫秒后重復(fù)調(diào)用 fn 函數(shù)
setTimeout(code,time);//經(jīng)過 time 毫秒后執(zhí)行 code 代碼
setInterval(code,time); //經(jīng)過 time 毫秒后重復(fù)執(zhí)行 code 代碼
  • code 是另一種語法的應(yīng)用,是指你想要重復(fù)執(zhí)行的一段字符串構(gòu)成的代碼(使用該語法是不推薦的)
  • 有返回值服球,傳遞給clearTimeout() 和 clearInterval()可以取消后續(xù)函數(shù)的調(diào)用
var timer = setInterval(fn,1000);
clearInterval(timer);
  • time 為0時献联,指定的函數(shù)不會立刻執(zhí)行竖配,會把它放到隊(duì)列中,等到前面處于等待狀態(tài)的事件處理程序全部執(zhí)行完成后里逆,再立即調(diào)用它进胯。

2. Window對象的屬性

2.1 location屬性

  • Window 對象的 location 屬性:引用 Location 對象,表示該窗口中當(dāng)前顯示的文檔的 URL原押。

Document對象的location屬性:引用Location對象胁镐。
window.location === document.location //總是返回true

  • Locationhref 屬性返回 URL 的完整文本。
  • “URL分解”屬性:Location 對象的其他屬性:protocol,host,hostname,port,pathname,search, 分別表示 URL 的各個部分
  • hash 屬性返回 URL 中的片段標(biāo)識符部分班眯;
  • search 屬性返回 ? 之后的 URL 希停,這些屬性是可寫的,改變屬性的值會改變 URL 署隘,重新載入文檔或者在當(dāng)前文檔中跳轉(zhuǎn)
location.search = "?page=" + (pagenum+1);//載入下一個頁面
  • 使用 location 跳轉(zhuǎn)頁面:
  • Location 對象的 assign() 方法可以使窗口載入并顯示指定的 URL 中的文檔
  • replace() 方法會在載入新文檔之前會從瀏覽歷史中把當(dāng)前文檔刪除
  • reload() 方法可以讓瀏覽器重新載入當(dāng)前文檔宠能。
  • 使瀏覽器跳轉(zhuǎn)到新頁面的直接的方法是把新的 URL 賦給 location 屬性:
location = "htttp://www.oreilly.com"; //可以使用絕對URL、相對URL磁餐,例如片段標(biāo)識符

2.2 history 屬性

  • history 屬性引用 History 對象违崇,History 對象是用來把窗口的瀏覽歷史用文檔和文檔狀態(tài)列表的形式表示阿弃。
  • History 對象的 length 屬性表示瀏覽歷史列表中的元素?cái)?shù)量,出于安全因素羞延,腳本不能訪問已保存的 URL渣淳。
  • history.back() : 在瀏覽歷史后退一格;
  • history.forward(): 在瀏覽歷史前進(jìn)一格伴箩;
  • history.go(num) // num:正值表示在瀏覽歷史中向前跳過任意頁入愧,負(fù)值表示向后跳過任意頁
  • 如果窗口包含多個子窗口,子窗口的瀏覽歷史會按時間順序穿插在主窗口的歷史中嗤谚,這意味著例如主窗口調(diào)用 history.back() 可能會導(dǎo)致一格子窗口往回跳轉(zhuǎn)到前一個顯示的文檔棺蛛,但主窗口保留當(dāng)前狀態(tài)不變。

Document對象的URL屬性:文檔首次載入保存該文檔的URL的靜態(tài)字符串巩步。

2.3 navigator 屬性

  • Window 對象的 navigator 屬性引用 Navigator 對象旁赊,包含瀏覽器廠商和版本信息
  • navigator.appName //返回 web 瀏覽器的全稱
  • navigator.appVersion //通常以數(shù)字開始,并跟著包含瀏覽器廠商和版本信息的詳細(xì)字符串椅野。
  • navigator.userAgent //包含 appVersion 中的所有信息终畅,并且常常也可能包含其他細(xì)節(jié)。
  • navigator.platform //在其上運(yùn)行的瀏覽器的操作系統(tǒng)的字符串竟闪。
console.log("appName: \n" + window.navigator.appName);        // Web瀏覽器的全稱离福,IE為“Microsoft Internet Explorer”,其它為“Netscape”
console.log("appVersion: \n" + window.navigator.appVersion);    // 瀏覽器的版本信息
console.log("userAgent: \n" + window.navigator.userAgent);        // 瀏覽器的版本信息(可能比appVersion更詳細(xì))
console.log("platform: \n" + window.navigator.platform);        // 瀏覽器的運(yùn)行操作系統(tǒng)

2.4 screen 屬性

  • Window 對象的 screen 屬性引用 Screen 對象炼蛤,提供有關(guān)窗口顯示的大小和可用的顏色數(shù)量的信息术徊。
  • 屬性 widthheight 指定的是以像素為單位的窗口的大小。
  • 屬性 availWidthavailHeight 指定的是實(shí)際可用的顯示大小鲸湃,排除了想桌面任務(wù)欄這樣的特性所占用的空間。
  • 屬性 colorDepth 指定的是顯示的BPP(bits-per-pixel)值子寓,典型的值有16,24,32
console.log("width: " + window.screen.width);        // 屏幕寬度
console.log("height: " + window.screen.height);        // 屏幕高度
console.log("availWidth: " + window.screen.availWidth);        // 屏幕可用寬度
console.log("availHeight: " + window.screen.availHeight);    // 屏幕可用高度

3. 對話框

  • alert("msg") 顯示一條消息暗挑,等待用戶關(guān)閉
  • confirm("msg") 顯示一條消息,等待用戶按確定(返回 true)或取消(返回 false
  • prompt("msg") 顯示一條消息斜友,等待用戶輸入字符串炸裆,并返回字符串的值
  • 這些對話框一般會產(chǎn)生阻塞,代碼停止運(yùn)行鲜屏,正在載入的文檔會停止載入烹看,直到用戶按要求響應(yīng)為止。會破壞用戶的瀏覽體驗(yàn)洛史,所以良好的設(shè)計(jì)要有節(jié)制地使用這些對話框惯殊。對話框常用于調(diào)試。

4. 多窗口和窗體

  • 打開窗口:
var w = window.open(url,參數(shù)2,參數(shù)3,參數(shù)4);
  • url:要在新窗口顯示的文檔的 URL 也殖,如果省略土思,會打開一個空白的新窗口

  • 參數(shù)2:新窗口的名字

  • 參數(shù)3:一個以逗號分隔的列表,包含大小和各種屬性

  • 參數(shù)4:布爾值,true:新窗口替換掉窗口瀏覽歷史的當(dāng)前條目己儒,false:在窗口瀏覽歷史中創(chuàng)建一個新的條目(默認(rèn))

  • 關(guān)閉窗口:w.close();

已關(guān)閉的窗口崎岂,代表它的 Window 對象仍然存在,w.closed 屬性為 true闪湾,它的 documentnull

  • w.opener 屬性引用的是打開它的腳本的 Window 對象
w.open().opener === w;
  • 窗體是通過<iframe>元素創(chuàng)建的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冲甘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子途样,更是在濱河造成了極大的恐慌江醇,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娘纷,死亡現(xiàn)場離奇詭異嫁审,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)赖晶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門律适,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人遏插,你說我怎么就攤上這事捂贿。” “怎么了胳嘲?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵厂僧,是天一觀的道長。 經(jīng)常有香客問我了牛,道長颜屠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任鹰祸,我火速辦了婚禮甫窟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛙婴。我一直安慰自己粗井,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布街图。 她就那樣靜靜地躺著浇衬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪餐济。 梳的紋絲不亂的頭發(fā)上耘擂,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機(jī)與錄音颤介,去河邊找鬼梳星。 笑死赞赖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冤灾。 我是一名探鬼主播前域,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼韵吨!你這毒婦竟也來了匿垄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤归粉,失蹤者是張志新(化名)和其女友劉穎椿疗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糠悼,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡届榄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了倔喂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铝条。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖席噩,靈堂內(nèi)的尸體忽然破棺而出班缰,到底是詐尸還是另有隱情,我是刑警寧澤悼枢,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布埠忘,位于F島的核電站,受9級特大地震影響馒索,放射性物質(zhì)發(fā)生泄漏莹妒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一绰上、第九天 我趴在偏房一處隱蔽的房頂上張望动羽。 院中可真熱鬧,春花似錦渔期、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谋梭,卻和暖如春信峻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瓮床。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工盹舞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留产镐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓踢步,卻偏偏與公主長得像癣亚,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子获印,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • window對象是所有客戶端JavaScript特性和API的主要接入點(diǎn)述雾。 常用方法 alert 彈出一個對話框用...
    亮亮叔家的小筆筆閱讀 861評論 0 2
  • window對象是客戶端JavaScript程序的全局對象,包含多數(shù)的屬性和方法兼丰。 計(jì)時器 Window對象包含2...
    kissLife閱讀 1,364評論 0 0
  • 一玻孟、JS前言 (1)認(rèn)識JS 也許你已經(jīng)了解HTML標(biāo)記(也稱為結(jié)構(gòu)),知道了CSS樣式(也稱為表示)鳍征,會使用HT...
    凜0_0閱讀 2,755評論 0 8
  • 第1章 認(rèn)識JS JavaScript能做什么黍翎?1.增強(qiáng)頁面動態(tài)效果(如:下拉菜單、圖片輪播艳丛、信息滾動等)2.實(shí)現(xiàn)...
    mo默22閱讀 1,250評論 0 5
  • 不經(jīng)意間但仿佛又是過了好久好久般匣掸,自己就走到了最尷尬的年齡了,被歲月毫不留情地貼上“剩女”的標(biāo)簽质礼。也許是共鳴腔的需...
    依亟閱讀 666評論 8 5