javascript中window指的是什么意思

小編給大家分享一下javascript中window指的是什么意思,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創新互聯專注于甘泉企業網站建設,自適應網站建設,成都商城網站開發。甘泉網站建設公司,為甘泉等地區提供建站服務。全流程定制網站設計,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務

在javascript中,window的意思為“窗口”,是一個內置的宿主對象,表示瀏覽器窗口,所有瀏覽器都支持該對象。所有JavaScript全局對象、函數以及變量均會自動成為window對象的成員。

javascript中window指的是什么意思

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在javascript中,window的意思為“窗口”,是一個內置的宿主對象。

window對象是BOM中所有對象的核心,除了是BOM中所有對象的父對象外,還包含一些窗口控制函數。

宿主對象就是執行JS腳本的環境提供的對象,是瀏覽器提供的對象。所有的BOM和DOM都是宿主對象。

Window 對象

所有瀏覽器都支持 window 對象。它表示瀏覽器窗口。

所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員。

  • 全局變量是 window 對象的屬性。

  • 全局函數是 window 對象的方法。

甚至 HTML DOM 的 document 也是 window 對象的屬性之一:

window.document.getElementById("header");

與此相同:

document.getElementById("header");

1、全局的window對象

JavaScript中的任何一個全局函數或變量都是window的屬性。

<script type="text/javascript">
    var name="撼地神牛";
    document.write(window.name);
</script>

2、window與self對象

self對象與window對象完全相同,self通常用于確認就是在當前的窗體內。

<script type="text/javascript">
    document.write(window == self);      //必須相等,永遠都相等
  document.write(window.Top == window.self);  //判斷當前框架是否是主框架
</script>

window、self、window.self三者是等價的。

3、window的子對象

window的主對象主要有如下幾個:

  • JavaScript document 對象

  • JavaScript frames 對象

  • JavaScript history 對象

  • JavaScript location 對象

  • JavaScript navigator 對象

  • JavaScript screen 對象

4、window函數索引(僅對IE有效)

窗體控制函數:

  • JavaScript moveBy() 函數:從當前位置水平移動窗體x個像素,垂直移動窗體y個像素,x為負數,將向左移動窗體,y為負數,將向上移動窗體。

  • JavaScript moveTo() 函數:移動窗體左上角到相對于屏幕左上角的(x,y)點,當使用負數做為參數時會把窗體移出屏幕的可視區域。

  • JavaScript resizeBy() 函數:相對窗體當前的大小,寬度調整w個像素,高度調整h個像素。如果參數為負值,將縮小窗體,反之擴大窗體。

  • JavaScript resizeTo() 函數:把窗體寬度調整為w個像素,高度調整為h個像素。

<body>
    <input type="button" id="btn1" value="先設置窗體固定大小!" onclick="window.resizeTo(500,500);" />
    <input type="button" id="btn2" value="再縮小10像素!" onclick="window.resizeBy(-10,-10);" />
    <input type="button" id="btn2" value="上!" onclick="window.moveBy(0,-5);" />
    <input type="button" id="btn2" value="下!" onclick="window.moveBy(0, 5);" />
    <input type="button" id="btn2" value="左!" onclick="window.moveBy(-5, 0);" />
    <input type="button" id="btn2" value="右!" onclick="window.moveBy(5, 0);" />
    <input type="button" id="btn2" value="距離左上角左邊100像素,頂部200像素" onclick="window.moveTo(100, 200);" />
</body>

窗體滾動軸控制函數:

  • JavaScript scrollTo() 函數:在窗體中如果有滾動條,將橫向滾動條移動到相對于窗體寬度為x個像素的位置,將縱向滾動條移動到相對于窗體高度為y個像素的位置。

  • JavaScript scrollBy() 函數:如果有滾動條,將橫向滾動條移動到相對于當前橫向滾動條的x個像素的位置(就是向左移動x像素),將縱向滾動條移動到相對于當前縱向滾動條高度為y個像素的位置(就是向下移動y像素)。

注意區別,一個是相對當前窗口,一個是相當現在滾動條的位置。

<div style="height:150%; width:150%; background-color:#ddd">
    <input type="button" id="btn1" value="移動滾動條!" onclick="window.scrollTo(100,100);" />  //相當于設置絕對位置
    <input type="button" id="btn1" value="移動滾動條!" onclick="window.scrollBy(100,100);" />  //相當于累加
</div>

窗體焦點控制函數:

  • JavaScript focus() 函數:使窗體或空間獲得焦點

  • JavaScript blur() 函數:使窗體或控件失去焦點

<div>
    <input type="button" value="獲得焦點" onclick="document.getElementById('testInput').focus()" />
    <input type="button" value="失去焦點" onclick="document.getElementById('testInput').blur()" />
    <input type="text" value="text" id="testInput" onblur="alert('我已失去焦點')" />
</div>

新建窗體函數:

  • JavaScript open() 函數:打開(彈出)一個新的窗體

  • JavaScript close() 函數:關閉窗體

  • JavaScript opener 屬性:通過opener可以實現跨窗體之間的通訊,但是要保證是在同一域名下,而且一個窗體要包含另一個窗體的opener。

window.open(url, name, features, replace);

open函數參數說明:

  • url -- 要載入窗體的URL;

  • name -- 新建窗體的名稱(也可以是HTML target屬性的取值,目標);

  • features -- 代表窗體特性的字符串,字符串中每個特性使用逗號分隔;

  • replace -- 一個布爾值,說明新載入的頁面是否替換當前載入的頁面,此參數通常不用指定。

open方法示例:

  <a href="2.html" target="2">在新窗口打開連接</a>
  <a href="#" onclick="window.open('http://www.google.com','2');">在已建立連接的頁面打開新地址</a>

首先使用普通HTML鏈接打開一個頁面(target名為dreamdu),之后使用open函數打開另一個頁面,瀏覽器首先要查找是否有名稱為dreamdu的窗體,如果有,就在這個窗體中加載open的地址。

經過設置的open

window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')

彈窗方法:

方法一:<body onload="openwin()"> 瀏覽器讀頁面時彈出窗口;  
方法二:<body onunload="openwin()"> 瀏覽器離開頁面時彈出窗口;

open函數第三個參數features說明:

參數名稱類型說明
heightNumber設置窗體的高度,不能小于100
leftNumber說明創建窗體的左坐標,不能為負值
locationBoolean窗體是否顯示地址欄,默認值為no
resizableBoolean窗體是否允許通過拖動邊線調整大小,默認值為no
scrollableBoolean窗體中內部超出窗口可視范圍時是否允許拖動,默認值為no
toolbarBoolean窗體是否顯示工具欄,默認值為no
topNumber說明創建窗體的上坐標,不能為負值
statusBoolean窗體是否顯示狀態欄,默認值為no
widthNumber創建窗體的寬度,不能小于100

特性字符串中的每個特性使用逗號分隔,每個特性之間不允許有空格。

window.open函數新建立窗體后會返回新建窗體的window對象,通過此對象可以控制窗體(移動,改變大小,關閉)。

close函數:

<input type="button" value="關閉已經打開的窗體!" onclick="window.close();" />

self.close();配合上setTimeout()可以實現,打開的窗口定時關閉的效果。

對話框函數:

  • JavaScript alert() 函數:彈出消息對話框(對話框中有一個OK按鈕)

  • JavaScript confirm() 函數:彈出消息對話框(對話框中包含一個OK按鈕與Cancel按鈕)

  • JavaScript prompt() 函數:彈出消息對話框(對話框中包含一個OK按鈕、Cancel按鈕與一個文本輸入框)

alert();

不說。

confirm(str);

confirm()消息對話框是排它的,也就是在用戶點擊對話框的按鈕前,不能進行任何其它操作。

if(confirm("確定跳大?"))
{
    alert("果斷跳大");
}else{
    alert("猥瑣打錢");
}

顯示如下:

javascript中window指的是什么意思

prompt(str1, str2);

函數有兩個參數

  • str1 -- 要顯示在消息對話框中的文本,不可修改

  • str2 -- 文本框中的內容,可以修改

var sResult=prompt("請在下面輸入你的姓名", "撼地神牛");if(sResult!=null)
{
    alert(sResult + "已經超越神的殺戮");
}else{
    alert("無名氏已經超越神的殺戮");
}

顯示如下:

javascript中window指的是什么意思

時間等待與間隔函數:

  • JavaScript setTimeout() 函數

  • JavaScript clearTimeout() 函數

  • JavaScript setInterval() 函數

  • JavaScript clearInterval() 函數

1、setTimeout()、clearTimeout()  在指定的時間后調用函數

語法:

  • setTimeout(fun,time);  fun:函數體或函數名,time指定時間,單位為毫秒。

  • clearTimeout(id);  取消指定的setTimeout函數將要執行的代碼

    setTimeout(function () {
        document.write("隔3秒后觸發");   
    }, 3000)    //在3秒后輸出
    setTimeout(fun1, 5000);     //在5秒后輸出
    function fun1() {
        document.write("函數名的方式5秒后觸發");
    }

2、setInterval()、clearInterval(value)  在間隔指定的事件后重復調用函數

語法:

  • setInterval(fun1,time)  fun:函數體或函數名,time指定的時間,單位為毫秒。會返回一個值,這個值是統計該函數的個數用的,第一個是1,第二個就是2,指明是第幾個setInterval函數。

  • clearInterval(value)    value:setInterval()函數返回的值,根據這個值可以停止setInterval()的重復。 

var i = 0;var h = setInterval(function () {
    document.write("3秒輸出一次<br/>");
    i++;    if (i >= 3) {
       clearInterval(h);
        document.write("停止輸出");
    }
}, 3000);

注意,javascript是單線程的,因此,這個定時函數實際上是通過插入執行隊列的方式來實現。

如下面的代碼:

function fn() { 
  setTimeout(function(){alert('can you see me?');},1000); 
  while(true) {} 
}

alert();永遠都不會執行,因為線程一直被死循環占用了。

window.location子對象

解析URL對象location

location對象的屬性有:href,protocal,host,hostname,port,pathname,search,hash

        document.write(location.href + "<br/>");        // http://localhost:4889/javascriptTest.html
        document.write(location.protocol + "<br/>");    // http:
        document.write(location.host + "<br/>");        // localhost:4889
        document.write(location.hostname + "<br/>");    // localhost
        document.write(location.port + "<br/>");        // 4889
        document.write(location.pathname + "<br/>");    // /javascriptTest.html
        document.write(location.search + "換行<br/>");  //http://localhost:4889/javascriptTest.html?id=1&name=張三 如果路徑是這樣,則輸出  ?id=1&name=%E5%BC%A0%E4%B8%89
        document.write(location.hash);                  //http: //localhost:4889/javascriptTest.html#kk=你好?id=1&name=張三 如果路徑是這樣,則輸出  #kk=你好?id=1&name=張三

載入新文檔

location.reload()  重新加載頁面

location.replace()  本窗口載入新文檔

location.assign()   本窗口載入新文檔

location = "http://www.baidu.com"  //跳轉到指定網址

location = "search.html"        //相對路徑跳轉

location = "#top"      //跳轉到頁面頂部

瀏覽歷史

History()對象的back()與forward()  與瀏覽器的“后退”,"前進"功能一樣。

history.go(-2);  后退兩個歷史記錄

瀏覽器和屏幕信息

navigator.appName  Web瀏覽器全稱

navigator.appVersion  Web瀏覽器廠商和版本的詳細字符串

navigator.userAgent  客戶端絕大部分信息

navagator.platform   瀏覽器運行所在的操作系統

        document.write(navigator.userAgent + "<br/>"); // Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
        document.write(navigator.appName + "<br/>");   //Netscape
        document.write(navigator.appVersion + "<br/>"); //5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11
        document.write(navigator.platform);             //Win32

窗口的關系

parent == self  只有頂級窗口才返回true

parent和top屬性允許腳本引用它的窗體的祖先,通常窗體是通過<iframe>元素創建的,可以用來獲取頂級窗口。

5、event事件對象

最有用的兩個操作:阻止事件冒泡。有時return false;不管用,這個或許就管用了。

//IE:
window.event.cancelBubble = true;//停止冒泡
window.event.returnValue = false;//阻止事件的默認行為

//Firefox:
event.preventDefault();// 取消事件的默認行為  
event.stopPropagation(); // 阻止事件的傳播

看完了這篇文章,相信你對“javascript中window指的是什么意思”有了一定的了解,如果想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!

網站欄目:javascript中window指的是什么意思
轉載來源:http://m.kartarina.com/article10/jeopdo.html

成都網站建設公司_創新互聯,為您提供域名注冊企業網站制作python網站改版小程序開發微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 亚洲GV天堂无码男同在线观看| 成人无码区免费A片视频WWW| 台湾无码一区二区| 精品一区二区无码AV| 亚洲精品无码乱码成人| 中文字幕乱码无码人妻系列蜜桃| 国产成A人亚洲精V品无码性色| 2019亚洲午夜无码天堂| 免费无码黄网站在线观看| 国产亚洲人成无码网在线观看| 婷婷四虎东京热无码群交双飞视频| 国产成年无码v片在线| 色综合久久久无码网中文| 精品无码久久久久久久动漫| 亚洲日韩精品无码专区加勒比☆| 久久精品国产亚洲AV无码麻豆 | 精品无码国产污污污免费| 久久国产加勒比精品无码| 久久无码av三级| 午夜无码视频一区二区三区| 永久免费AV无码国产网站| 亚洲av中文无码乱人伦在线r▽| 免费a级毛片无码av| 久久久精品天堂无码中文字幕| 无码高潮爽到爆的喷水视频app| 无码人妻精品一区二区三18禁| 中文字幕无码精品三级在线电影| 国内精品久久人妻无码不卡| 无码人妻精品一区二区三区99性 | 亚洲精品天堂无码中文字幕| 日韩免费无码视频一区二区三区| 亚洲爆乳精品无码一区二区三区| 久久久久无码专区亚洲av| 中文字幕无码av激情不卡久久| 东京热av人妻无码专区| 极品粉嫩嫩模大尺度无码视频| 国产成人无码A区在线观看视频 | 亚洲一级特黄无码片| 亚洲中文久久精品无码| 国产AV无码专区亚洲AV男同| 国产亚洲人成无码网在线观看|