javascript- BOM


BOM:浏览器对象模型,提供独立于内容的而与浏览器窗口进行交互的对象,其核心对象时window。

BOM比DOM更大,包含DOM。 window对象是浏览器的顶级对象,具有双重角色 它是js访问浏览器的一个接口 它是一个全局对象。定义在全局作用域中的变量,函数都会变成window对象的属性和方法。在调用的时候,可以省略window,前面学习的对话框都是属于window对象方法,如alert()、prompt()等 注:window下的一个特殊属性window.name   window对象常见的事件 窗口加载事件

    
注:
  • 有了window.onload就可以把js代码写到页面元素的上方,因为onload是等页面内容全部加载完毕,再去执行处理函数。
  • window.onload传统注册事件方式智能写一次,如果有多个,会以最后一个window.onload为准。

调整窗口大小事件

 
注: 1.只要窗口大小发生变化,就会触发这个事件 2.我们经常利用这个事件完成响应式布局。window.innerWidth当前屏幕的宽度。  

定时器

setTimeout(调用函数,[延迟的毫秒数]);
 
注:单位必须是毫秒,可以不写默认立刻执行  

案例:五秒关闭广告

   
    

清除定时器

    
    

setlnterval定时器

案例:京东秒杀倒计时 这个倒计时不断变化,因此需要定时器来自动变化(setlnterval) 三个黑色盒子分别计算
1 2 3

关闭定时器


    
    

案例:发送短信

  1. 按钮点击后,会禁用disabled为true
  2. 同时按钮里面的内容话变化,注意button里面的内容通过innerHTML修改
  3. 里面秒数是有变化的,因此需要用到定时器
  4. 定义一个变量,在定时器里面,不断递减
  5. 如果变量为0说明到了时间,我们需要停止定时器,并且恢复按钮初始状态。
手机号码:
    

this指向问题 一般情况下this的最终指向的那个调用它的对象

  1. 全局作用域或者普通函数中this指向全局对象window(注意定时器里面的this指向window)
  2. 方法调用中谁调用this就指向谁
  3. 构造函数中this指向构造函数的实例
  JS执行机制 单线程,同一个时间只能做一件事。 同步:前一个任务结束后再执行后一个任务,程序的执行顺序和任务的排列顺序一样 异步:在做这件事的同时可以去做其他的事
  1. 先执行执行栈中的同步任务
  2. 异步任务放入任务队列中
  3. 一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行。

location对象 用于获取窗体的URL(统一资源定位符是互联网上标准资源的地址)

5秒后跳转界面

    
    

获取URL

第一个登陆页面,里面提交表单,action提交到index.html页面 第二个页面,可以使用第一个页面的参数,这样实现了一个数据不同页面之间的传递效果  第二个页面之所以可以使用第一个页面的数据,是利用了URL里面的location.search参数 在第二个页面中,需要把这个参数提取 第一步去掉?利用substr 第二步利用=号分割和值split(’=‘)
   

location对象的方法

    
    
navigator对象 PC端跳转手机端显示   history对象  
    点击我去往列表页