概述:
js包含ECMAScript、DOM、BOM。BOM(browser object model)浏览器对象模型,使js获得了操纵浏览器的能力。DOM(document object model)文档对象模型,使js获得了可以获取html内元素的能力。
BOM:
window对象:
window对象是客户端javascript的最高层对象之一,所有的浏览器都支持window对象,也可以粗暴的认为打开一个浏览器窗口或页面就是生成了一个window对象。所有js全局对象,函数以及变量均为windows的对象的组成元素。全局变量是window对象的属性,全局函数是window对象的方法,可以想想成python中的类,类中有静态属性和动态属性。
window.innerHeight | 浏览器窗口的内部高度 |
window.innerWidth | 浏览器窗口的内部宽度 |
window.open() | 打开新窗口 |
window.close() | 关闭当前窗口 |
window子对象:
location.href | 获取当前页面url |
location.href='url' | 跳转url |
location.reload() | 刷新 |
弹出框:
alert() | 警告框 |
confirm() | 确认框 返回true和false |
prompt() | 提示框 提示用户输入某个值,然后点击确认或取消按钮才能操作,如果点击确认,那么返回值就是填写的值,如果取消则为null |
计时相关:
js中我们可以设定一个时间间隔来执行代码,而不是在函数在调用之后立即执行,我们称为计时时间
setTimeout() | var t=setTimeout(“alert(123)”,1000) |
等待1秒后执行,并且有返回值相当于计时事件的id |
setInterval() | var t=setTimeout(“alert(123)”,5000) |
每5秒执行一次函数,并且有返回值相当于计时事件的id |
clearTimeout() | clearTimeout(t) |
取消setTimeout设置 |
clearInterval() | clearInterval(t) | 参数必须是setInterval的返回值 |
以下是定时器的例子:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>计时器</title> </head> <body> <label for="i1">显示日期</label> <input type="text" id="i1"> <input type="button" value="开始" id="start_button"> <input type="button" value="结束" id="stop_button"> <script> var t; var startEle=document.getElementById("start_button"); var stopEle=document.getElementById("stop_button"); function foo_time() { var new_time=new Date(); var str_time=new_time.toLocaleString(); var i1Ele=document.getElementById("i1"); i1Ele.value=str_time; }; startEle.onclick=function () { if (t===undefined) { foo_time(); t= setInterval(foo_time,1000); } }; stopEle.onclick=function () { clearTimeout(t); console.log('cleartimeout',t); t=undefined; } </script> </body> </html>