BOM
概念:Browser Object Model
浏览器对象模型,允许JavaScript与浏览器对话,JavaScript将浏览器的各个组成部分封装为对象
组成:
Window:浏览器窗口对象
Navigator :浏览器对象
Screen:屏幕对象
History:历史记录对象
Location:地址栏对象
Window:浏览器窗口对象
获取:直接使用window,其中window可省略
eg: window.alert("Hello"); --> alert("Hello");
属性:
history:对History对象的只读引用
location:用于窗口或框架的Location对象
navigator:对Navigator对象的只读引用
方法:
alert(); 显示带有一段消息和一个确认按钮的警告框
confirm(); 显示带有一段消息以及确认按钮和取消按钮的对话框
返回值 true/false
setInterval(); 按照指定的周期(以毫秒计)来调用函数或计算表达式
setTimeout(); 在指定的毫秒数后调用函数或计算表达式
例:
延迟___后执行 setTimeout(function(){ alert("JS"); },3000); (3000ms -->3s后执行且仅一次) 简写: setTime(()=>{ 执行代码块; },毫秒数); 周期性调用 var i = 1; setInterval(function(){ console.log("定时器执行了" + i + "次"); i++;}, 2000); (2000ms -->2s执行一次 简写: setInterval(()=>{ 执行代码块; },毫秒数);
注:在具体实践中发现:上面的setTimeout执行可打断下面setInterval周期性调用
(上面alert警告框弹出后,不点击按钮,则下面setInterval不会继续执行)
Location
介绍:地址栏对象
获取:使用window.location获取,其中window可省略
window.location.属性; == location.属性;
属性:
href:设置或返回完整的url
location.href = "https://www. ……”;(跳转到指定地址页面)
DOM W3C的标准,定义了访问HTML和XML文档的标准
概念:Document Object Model,文档对象模型
将标记语言的各个组成部分封装为对应的对象
1、Core-DOM-所有文档类型的标准模型
Document:整个文档对象
Element: 元素对象(标签)
Attribute: 属性对象
Text: 文本对象
Comment: 注释对象
JavaScript通过DOM,就能够对HTML进行操作:
改变HTML元素的内容
改变HTML元素的样式
对HTML DOM 事件作出反应
添加和删除HTML元素(动态)
2、XML DOM-XML文档的标准模型
3、HTML DOM-HTML文档的标准模型
Image :<img>
Button:<input type = 'button'>
JS事件监听
事件:HTML事件是发生在HTML元素上的“事情”
如:按钮被点击、鼠标的移入移出、键盘按键按下等
事件监听:JavaScript可以在事件被侦测到时执行代码
事件绑定
方式一:通过HTML标签中的事件属性进行绑定
<input type = "button" onclick = "on()" value = "按钮1">
<script>
function on(){ alert("我被点击了"); } </script> 方式二:通过DOM元素属性绑定 <input type = "button" id = "btn" value = "按钮2"> <script> document.getElementById('btn').onclick = function(){ alert("我被点击了"); } </script>
常见事件:
事件名 | 说明 |
onclick | 鼠标单机事件 |
onblur |
元素失去焦点 |
onfocus | 元素获得焦点 |
onload | 某个界面或图像被完成加载 |
onsubmit | 当表单提交时触发该事件 |
onkeydown | 某个键盘的按键被按下 |
onmouseover | 鼠标被移动到某元素上 |
onmouseout | 鼠标从某元素移开 |