JS中的BOM DOM和事件

概述:

  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>

  

猜你喜欢

转载自www.cnblogs.com/yuan-x/p/12289895.html