1、认识BOM

js

三个部分:

1、ECMAScript标准 ECMA5 ECMA6

2、BOM Browser Object Model 浏览器对象模型

3、DOM 文档对象类型

window对象下的函数。

alert()

格式:window.alert(参数)

功能:弹出一个警告框,并显示,传入的内容

【注】所有window开头的函数,都可以省略window调用。

window.alert(123);

confirm

格式:window.confirm(参数)

功能:弹出一个带确定和取消的提示框

返回值:点击确定,返回true,点击取消,返回false

            /*var res = confirm("我美么?");
alert(res);*/
prompt

格式:window.prompt(参数)

参数:第一个参数,面板上显示的内容,第二个参数,输入框默认值

功能:这是一个带输入框的提示框

返回值:当点击确定,返回,输入的内容。当点击取消,返回null。

            /*var res = prompt("请输入一个数", 10)
console.log(res);*/

2、open与opener

window.open("https://www.baidu.com", "百度", "width=400,height=400,top=200,left=200");

三个参数

第一个参数:打开的网站的url

第二个参数:打开的新窗口起个名字(仅仅是起个名字,看不到这个名字)

第三个参数:一串特殊意义字符串。

opener

【注】打开当前窗口的父窗口

    <body>
<button onclick = "btnClick();">打开一个新窗口</button>
</body>
<script>
var i = 0;
function btnClick(){
/*
三个参数
第一个参数:打开的网站的url
第二个参数:打开的新窗口起个名字(仅仅是起个名字,看不到这个名字)
第三个参数:一串特殊意义字符串。
*/ window.open("https://www.baidu.com", "百度", "width=400,height=400,top=200,left=200"); /*while(i < 10){
var str = "width=400,height=400,top=" + (200 + 10 * i) + ",left=" + (200 + 10 * i);
window.open("https://www.baidu.com", "百度" + i, str);
i++;
}*/ }
</script>
父窗口:
    <style>
body{
background-color: yellow
}
</style>
</head>
<body>
<h1>这里是父窗口</h1>
<button onclick = "btnClick();">打开子窗口</button>
</body>
<script>
function btnClick(){
open("sub.html", "sub", "width=400,height=400,top=200,left=200");
}
</script>
子窗口
    <style>
body{
background-color: blue;
}
</style>
</head>
<body>
<h1>这里是子窗口</h1>
<button onclick = "btnClick();">按钮</button>
</body>
<script> /*
chome不支持
*/ function btnClick(){
// opener 打开当前窗口的父窗口的window对象
// alert(opener);
opener.document.write("我是子窗口");
}
</script>

3、history

window开头的属性也可以省略window

            /*alert(window.history);
alert(history);*/
history对象

属性:history.length 当前窗口历史记录中的条数

history.back() 返回上一条记录
history.forward() 前进到下一条记录
history.go();
				传参: 0  刷新
正数 前进该条数的记录
负数 返回该条数的记录
            // alert(history.length);

			function btnBack(){
history.forward();
}
function btnForWard(){
history.back();
}
function btnGo(){
history.go(-2);
}
</script>
</head>
<body>
<button onclick = "btnBack();">前进</button>
<button onclick = "btnForWard();">后退</button>
<button onclick = "btnGo();">GO</button>
</body>

4、location

// alert(window.location === window.document.location);

【注】上述,无论通过任何方式访问到location对象都是同一个。

location对象的属性

location 对象 窗口上的地址栏

url 统一资源定位符。 快递单

完整的url的格式:

https://www.baidu.com:8080/news?today=11&page=1#1

协议://主机名:端口号/路径?查询字符串#锚点

protocol 协议
		http://tianyufei.local/qwer/13location.html
*/ // alert(location.protocol);
hostname
                www.baidu.com    域名  是为了好记给IP起的别名
61.135.169.125 IP 全球范围内你使用的网络,唯一的标识。 port 端口号 当前电脑的软件在使用软件的时候,会随机分配一个端口号。
浏览器端口号:8080
FTP:2020 // alert(location.hostname); // alert(location.port); // alert(location.host);
IP:端口号
pathname 路径名
		// alert(location.pathname);
search 查询字符串
			?username=tian&password=123     

		// alert(location.search);
hash 锚点 #100
		alert(location.hash);

location 方法

    <head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function btnClick(){
// location.assign("https://www.baidu.com");
// location.replace("https://www.baidu.com");

可以传参,可以传true进行。

如果你传true,代表的是不经过缓存,直接从服务器重载。

                location.reload(true);
}

location.assign() 跳转

【注】在本窗口中加载页面,并且会产生历史记录。

location.replace() 替换

【注】在本窗口中加载页面,不会产生历史记录。

location.reload() 重载

        </script>
</head>
<body>
<button onclick = "btnClick();">百度</button>
</body>

5、延时器

var ID = setTimeout(函数名, 毫秒数)

参数:1、函数名

   2、毫秒数

返回值:该延时器的ID

【注】延迟对应毫秒数以后去执行一次函数,有且仅执行一次。

clearTimeout(ID)

功能:清除延时器。

    <head>
<meta charset="UTF-8">
<title>Document</title>
<script>
/*
var ID = setTimeout(函数名, 毫秒数)
参数:1、函数名
2、毫秒数
返回值:该延时器的ID 【注】延迟对应毫秒数以后去执行一次函数,有且仅执行一次。 clearTimeout(ID)
功能:清除延时器。
*/
var ID = setTimeout(function(){
alert("五秒到了");
}, 5000); function btnClick(){
clearTimeout(ID);
}
</script>
</head>
<body>
<button onclick = "btnClick();">取消掉</button>
</body>

6、进度条

    <head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#progress{
width: 600px;
height: 35px;
border: 1px solid black;
margin: 100px auto;
position: relative;
}
#fill{
position: absolute;
width: 0px;
background-color: red;
height: 35px;
left: 0px;
top: 0px;
line-height: 35px;
}
#num{
position: absolute;
right: 0;
color: white;
font-size: 18px
}
</style>
</head>
<body>
<div id = "progress">
<div id = "fill" >
<span id = "num">0%</span>
</div>
</div>
</body>
<script>
var oProgress = document.getElementById("progress");
var oFill = document.getElementById("fill");
var oNum = document.getElementById("num");
var i = 0; //当前的宽
/*
人眼能识别的最小的间隔是18帧,电影院里面放的电影是24帧。
*/
var ID = setInterval(function(){
i = i + 5;
oFill.style.width = i + "px"; //修改百分比
oNum.innerHTML = parseInt((i / 600) * 100) + "%";
if(i == 600){
clearInterval(ID);
}
}, 30);
</script>

9、BOM (浏览器对象模型)的更多相关文章

  1. 第一百一十一节,JavaScript,BOM浏览器对象模型

    JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...

  2. JavaScript——BOM(浏览器对象模型),时间间隔和暂停

    BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...

  3. BOM浏览器对象模型

    访问和操作浏览器窗口的模型称为浏览器对象模型BOM(Browser Object Model). BOM整体对象图. 核心是window对象: 以下有特殊双重身份: window对象既是ECMAScr ...

  4. javascript之BOM浏览器对象模型引入

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. JavaScript(二、BOM 浏览器对象模型)

    一.BOM是什么 BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心 ...

  6. BOM—浏览器对象模型(Browser Object Model)

     1,javascript   组成部分: 1.ECMAscript(核心标准):    定义了基本的语法,比如:if for 数组 字符串 ... 2.BOM  : 浏览器对象模型(Browser ...

  7. JS第三部分--BOM浏览器对象模型

    一.client系列:宽高边框 二.offset系列:偏移 三.scroll系列 四.BOM的介绍 4.1.打开新窗口 4.2.location对象(本地信息对象) 4.3.history对象 4.4 ...

  8. js BOM浏览器对象模型

    BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...

  9. JavaScirpt(JS)——BOM浏览器对象模型

    一.BOM概念 BOM(Browser Object Model)即浏览器对象模型.可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关 ...

  10. BOM——浏览器对象模型(Browser Object Model)

    什么是BOM? BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对 ...

随机推荐

  1. [Vuex] Lazy Load a Vuex Module at Runtime using TypeScript

    Sometimes we need to create modules at runtime, for example depending on a condition. We could even ...

  2. Linux输入子系统框架分析(1)

    在Linux下的输入设备键盘.触摸屏.鼠标等都能够用输入子系统来实现驱动.输入子系统分为三层,核心层和设备驱动层.事件层.核心层和事件层由Linux输入子系统本身实现,设备驱动层由我们实现.我们在设备 ...

  3. 关于现在互联网是否还有机会类的价值文章,为什么有人掉进互联网创业的坑里,可能因为ta不懂这些

     --也是带着问题看这篇文章的,面临BAT时代的互联网创业者如何带领自己的公司存活成长,本文有些理念很有意思,前辈企业家是抓住机会干企业,现代化是发现问题最先解决干企业,最难的.同仁意愿不强的大问题才 ...

  4. simHash 简介以及 java 实现

    传统的 hash 算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法.产生的两个签名,如果相等,说明原始内容在一定概 率 下是相等的:如果不相等,除了说明原始内容不相等外 ...

  5. [转]如何实现一个malloc

    任何一个用过或学过C的人对malloc都不会陌生.大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉.但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至 ...

  6. atitit r9 doc on home ntpc .docx

    卷 p2soft 的文件夹 PATH 列表 卷序列号为 9AD0-D3C8 D:. │  Aittit pato 面对拒绝  的回应.docx │  Atitit  中国明星数量统计 attilax. ...

  7. Atitit 分布式管理 vs 集中式管理

    Atitit 分布式管理 vs 集中式管理 1. 集中式管理缺点 1 1.1. 单点故障 1 1.2. 没有灵活性 1 1.3. 打败vs 征服 参考 尼可罗·马基雅弗利编著的<君主论> ...

  8. 如何在phpstorm中查看yaf框架源码

    1.到github下载yaf框架的doc 下载链接 https://github.com/elad-yosifon/php-yaf-doc/archive/master.zip 2.解压zip包 3. ...

  9. C语言 · 礼物盒

    礼物盒 分值: 20 小y 有一个宽度为 100cm,高度为 20cm,深度为 1cm 的柜子,如下图. 小y 还有 36 个礼物盒,他们的深度都为 1cm. 他们对应的宽度和高度如下,单位(cm). ...

  10. 如何设计一款优秀的短视频 SDK

    2017 年,短视频成为了创业的新风口,各种短视频 App 如雨后春笋般先后上线,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 1. 包体一定要尽可能小 如何做到尽可能的减小 S ...