1. BOM
JavaScript基礎分為三部分:
ECMAScript:JavaScript的語法標準,包括變數、運算式、運算子、函式、if陳述句、for陳述句等,
DOM:檔案物件模型,操作網頁上的元素的API,比如讓盒子移動、變色、輪播圖等,
BOM:瀏覽器物件模型,操作瀏覽器部分功能的API,比如讓瀏覽器自動滾動,
1.1 BOM的介紹
BOM:Browser Object Model,瀏覽器物件模型,
BOM的結構圖:

從上圖也可以看出:
window物件是BOM的頂層(核心)物件,所有物件都是通過它延伸出來的,也可以稱為window的子物件,
DOM是BOM的一部分,
window物件:
window物件是JavaScript中的頂級物件,
全域變數、自定義函式也是window物件的屬性和方法,
window物件下的屬性和方法呼叫時,可以省略window,
下面講一下 BOM 的常見內置方法和內置物件,
1.2 彈出系統對話框
比如說,alert(1)是window.alert(1)的簡寫,因為它是window的子方法,
系統對話框有三種:
alert(); //不同瀏覽器中的外觀是不一樣的 confirm(); //兼容不好 prompt(); //不推薦使用
1.3 打開視窗、關閉視窗
1.3.1 打開視窗
window.open(url,target)
引數解釋:
url:要打開的地址,
target:新視窗的位置,可以是:
_blank、_self、_parent父框架,
1.3.2 關閉視窗
close();
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--行間的js中的open() window不能省略-->
<button onclick="window.open('https://i-beta.cnblogs.com')">愛編程的小灰灰</button>
<button>打開百度</button>
<button onclick="window.close()">關閉</button>
<button>關閉</button>
</body>
<script type="text/javascript">
var oBtn = document.getElementsByTagName('button')[1];
var closeBtn = document.getElementsByTagName('button')[3];
oBtn.onclick = function(){
//open('https://www.baidu.com')
//打開空白頁面
open('about:blank',"_self")
}
closeBtn.onclick = function(){
if(confirm("是否關閉?")){
close();
}
}
</script>
</html>
1.4 location物件
window.location可以簡寫成location,location相當于瀏覽器地址欄,可以將url決議成獨立的片段,
1.4.1 location物件的屬性
href:跳轉
hash 回傳url中#后面的內容,包含#
host 主機名,包括埠
hostname 主機名
pathname url中的路徑部分
protocol 協議 一般是http、https
search 查詢字串
location.href屬性舉例:
舉例1:點擊盒子時,進行跳轉,
<body>
<div>smyhvae</div>
<script>
var div = document.getElementsByTagName("div")[0];
div.onclick = function () {
location.href = "http://www.baidu.com"; //點擊div時,跳轉到指定鏈接
// window.open("http://www.baidu.com","_blank"); //方式二
}
</script>
</body>
舉例2:5秒后自動跳轉到百度,
有時候,當我們訪問一個不存在的網頁時,會提示5秒后自動跳轉到指定頁面,此時就可以用到location,舉例:
<script> setTimeout(function () { location.href = "http://www.baidu.com"; }, 5000); </script>
1.4.2 location物件的方法
location.reload():重新加載
setTimeout(function(){ //3秒之后讓網頁整個重繪 window.location.reload(); },3000)
1.5 navigator物件
window.navigator 的一些屬性可以獲取客戶端的一些資訊,
userAgent:系統,瀏覽器)
platform:瀏覽器支持的系統,win/mac/linux
例子:
console.log(navigator.userAgent);
console.log(navigator.platform);
1.6 history物件
1、后退:
history.back()
history.go(-1):0是重繪
2、前進:
history.forward()
history.go(1)
用的不多,因為瀏覽器中已經自帶了這些功能的按鈕,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/170813.html
標籤:JavaScript
下一篇:js前端資料型別檢測typeof,instanceof,Object.prototype.toString.call
