JS的构成:ECMAScript、BOM、DOM
DOM和BOM的区别和联系?
在JavaScript语言的类型大致可以分为以下三种:
(1)用户定义对象
用户定义对象 自行创建的对象,例如:
var obj = { }
(2)内置对象
内置在JavaScript中的对象,无需我们创建,可以直接使用,例如:Array、Math和Data等
(3)宿主对象
上期我们知道了什么是宿主环境以后,应该对宿主对象是什么有了一定的了解,在这里我们指的是浏览器提供的对象,例如:window、document。
DOM中主要关注的就是document,document对象的主要功能就是处理网页内容。
BOM :Browser Object Model
浏览器对象模型,它不是一个对象,它是一个对象集合,包含大量的用来操作浏览器窗口或者浏览器里面的内容的对象。如:window、screen、navigator、history等。这些对象中window对象是顶层对象,其他对象是window的一个属性,不过这些属性本身也是对象。
window对象
window对象:它是BOM中的顶层对象,BOM中的其他对象其实是window的属性。
BOM也是一个全局对象,所谓全局对象就是指在全局环境中所定义的所有的变量和方法,其实就是给window添加属性和方法。
可以使用window.属性名称的形式来使用该变量,或者采用window.函数名称()的形式调用全局变量的函数。只不过通常情况下window对象可以省略。
另外,如果要使用全局变量或者方法也可以使用this.的形式,因为全局环境下面this代表window。window对象不需要手动创建,当浏览器窗口打开后后台自动创建window对象。
(1)alert方法
(2)confirm方法
var res = window.confirm('是否删除');
console.log(res);
(3)prompt方法
(4)isFinite方法
注意:参数可以是任意类型,那么在判断是否为有限数据时,系统会先调用Number方法将参数转换为数值型,如果转换成功,且是有限的,那么最终的返回值是true,如果转换成功,但是是Infinity或则是-Infinity,那么最终的结果是false。如果在转型时,转换的结果是NaN,那么最终结果是false。
console.log(window.isFinite(3 / 2));
(5)isNaN方法
console.log(window.isNaN('a' * 3));
(6)open方法
参数说明:
<body>
<button id='box'>打开一个新的窗口</button>
<script>
//点击按钮打开新的窗口
var btn = document.getElementById('box');
btn.onclick = function() {
window.open(); //省略所有参数表示打开一个空白窗口
// window.open('http://www.baidu.com');
}
</script>
</body>
(7)close方法
<body>
<button id="box">关闭窗口</button>
<script>
var btn = document.getElementById('box');
btn.onclick = function() {
window.close();
}
</script>
</body>
(8)moveTo方法
(9)moveBy方法
<body>
<button id='box1'>打开新的窗口</button>
<button id='box2'>moveBy方法</button>
<script>
var btn1 = document.getElementById('box1');
var btn2 = document.getElementById('box2');
var cc;
btn1.onclick = function() {
cc = window.open('', 'aaa', "width=500 height=300")
};
btn2.onclick = function() {
cc.moveBy(100, 200);
}
</script>
</body>
(1)setInterval方法与clearInterval方法
1)setInterval方法
参数说明如下:
注意:该方法的返回值为:定时器的编号,该编号可以用来清除定时器
var timer = window.setInterval(fn, 100);
function fn() {
console.log('hello');
}
2)clearInterval方法
(2)setTimeout方法与clearTimeout方法
1)setTimeout方法
参数说明:
注意:该方法返回的值为定时器编号,该编号用来取消定时器。
2)clearTimeout方法:
var timer = window.setTimeout(function() {
console.log('hello');
}, 5000);
代码小兵49806-11 15:28
代码小兵49806-11 15:51
代码小兵49806-11 16:22
代码小兵51603-29 17:28
暴风城-小飞04-06 20:49