JS BOM之window对象 定时器

BOM(browser object model) 浏览器对象模型。
BOM对象有:window navigator screen history location document event.
window是浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象(全局对象)。
JS BOM之window对象 定时器
文章图片

所有的全局变量和全局方法都被归在window对象上。


window.alert();
window.confirm("message"); 显示一个带有指定消息和OK及取消按钮的对话框。返回值:点确定返回true,点取消返回false。
//confirm() var btn=document.getElementById("btn"); btn.onclick=function(){ //弹出确认对话框 var result=window.confirm("您确定要删除吗?"); if(result){ document.getElementById("box").style.display="none"; } }

JS BOM之window对象 定时器
文章图片

window.prompt("text,defaultText");
参数说明:
  1. text:要在对话框中显示的纯文本(而不是HTML格式的文本)
  2. defaultText:默认的输入文本。
返回值:如果用户单击提示框的取消按钮,则返回null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
var message=prompt("请输入您的星座","天秤座"); console.log(message);

JS BOM之window对象 定时器
文章图片

window.open(pageURL,name,parameters); 打开一个新的浏览器窗口或查找一个已命名的窗口。
参数说明:
  1. pageURL:子窗口路径
  2. name:子窗口句柄(name声名了新窗口的名称,方便后期通过name对子窗口进行引用)
  3. parameters:窗口参数(各参数用逗号分隔)
width:窗口宽度height:窗口高度left:窗口X轴坐标top:窗口Y轴坐标
toolbar:是否显示浏览器的工具栏menubar:是否显示菜单栏scrollbars:是否显示滚动条
location:是否显示地址字段status:是否添加状态栏。
window.close():
window.onload=function(){ window.open("newwindow.html","newwindow","width=400,height=200,left=0,top=0,toobar=no,menubar=no,scrollbars=no,status=no"); var quit=document.getElementById("quit"); //点击关闭当前窗口 quit.onclick=function(){ window.close(); }

window对象方法--定时器:
  1. 超时调用
  2. 间歇调用
JS是单线程语言,单线程就是所执行的代码必须按照顺序。
超时调用:setTimeout(code,milisec)在指定的毫秒数后调用函数或计算表达式。
参数说明:
  1. code:要调用的函数或要执行的javaScript代码串
  2. milisec:在执行代码前需要等待的毫秒数。
/*setTimeout("alert('hello')",1000); //在一秒钟之后执行,不推荐*///匿名函数 setTimeout(function(){ alert("hello"); },2000)//自定义函数 var fnCall=function(){ alert("world"); } setTimeout(fnCall,5000);

setTimeout方法返回一个ID值,通过它取消超时调用。
clearTimeout(id_of_settimeout); 取消由setTimeout()方法设置的timeout()方法设置的timeout.
参数说明:id_of_settimeout:由setTimeout()返回的ID值,该值标识要取消的延迟执行代码块。
//匿名函数 var timeout1=setTimeout(function(){ alert("hello"); },2000) clearTimeout(timeout1);

间歇调用:
setInterval(code,milisec):每隔指定的时间执行一次代码。
参数说明:
  1. code:要调用的函数或要执行的javaScript代码串
  2. milisec:周期性执行或调用code之间的时间间隔,以毫秒计。
清除间歇调用:clearInterval(id_of_setinterval)取消由setInterval()返回的ID值。
参数说明:id_of_setinterval由setInterval()返回的ID值。
var intervalId=setInterval(function () { console.log("您好"); },1000) //10秒之后停止 setTimeout(function(){ clearInterval(intervalId); },10000);

//间歇调用: var num= 1,max=10,timer=null; //每隔1秒钟num递增一次,直到num的值等于max清除 timer=setInterval(function () { console.log(num); num++; if(num>max){ clearInterval(timer); }},1000)

超时调用的setTimeout()只执行code一次,如果要多次调用,可以让code自身再次调用setTimeout().
//超时调用实现: var num= 1,max=10,timer=null; function inCrementNum(){ console.log(num); num++; if(num<=max){ setTimeout(inCrementNum,1000); }else{ clearTimeout(timer); } } timer=setTimeout(inCrementNum,1000);

【JS BOM之window对象 定时器】JS BOM之window对象 定时器
文章图片

    推荐阅读