bom浏览器对象模型

2018.9.6 周四晚

第11章 浏览器对象模型

一、间接调用和超时调用

javascript是单线程语言,但是可以通过超时值和间歇时间来调度代码在特定时刻执行。

1.setTimeout()
该方法返回一个数值ID,表示超时调用,这个超时调用ID是计划执行代码的唯一标识符,通过它来取消超时调用。clearTimeout(ID);

 参数:1)要执行的代码
       2)以毫秒表示时间

 例如:一秒后调用 
     var id = setTimeout(function(){
                            alert(1000);1000
                       });
     console.log(id);
     clearTimeout(id);//清除

2.setIterval()
按照指定的时间间隔重复执行代码,直到间歇调用被取消或页面被卸载。调用该方法也会返回一个间歇调用ID,该ID 用户可以在将来某个时刻取消间歇调用。

  参数:1)要执行的代码
        2)以毫秒表示时间

     clearInterval(ID);//取消间歇调用   

3.使用超时调用来模拟间歇调用

  var num = 0;
  var max = 10;
  function incrementNum(){
        num++;
        if(num < max){
             alert(num);
             setTimeout(incrementNum,500);
        }else{
             alert("Done" + num);
        }
  }
  setTimeout(incrementNum,500);

4.setTimeout,setInterval配合完成调用函数

  function invoke(f,start,interval,end){
         if(!start){start = 0;}
         if(argument.length <= 2){
                setTimeout(f,start);
         }else{
             function rapeat(){
                  var h = setInterval(f,interval);
                  if(end){
                      setTimeout(function(){
                             clearInterval(h);
                      },end);
                  }
             }
             setTimeout(repeat,start);
         }
  }

二、系统对话框
alert(),confirm(),prompt()方法可以调用系统对话框向用户显示信息。显示这些对话框的时候代码会停止执行,关掉这些对话框的时候代码又会恢复执行。

1.alert()
提示框。该方法接收一个字符串并将其显示给用户。该对话框会包含指定的文本和一个”OK”按钮。注意用来显示警告信息。

2.comfirm()
确认对话框。显示包含指定的文本和一个”OK”按钮以及”Cancel”按钮。该方法返回布尔值,true表示单击了OK,false表示单击了cancel或者X按钮。

3.prompt()
会话框。提示用户输入一些文本。显示包含文本,OK按钮,cancel按钮以及一个文本输入域,以供用户在其中输入内容。传入两个参数,要显示给用户的文本提示和文本输入域的默认值。
如果用户单击OK按钮,该方法返回输入域的值,如果用户单击了cancel或者关闭对话框,该方法返回null。

三、location对象

是最有用的BOM对象之一。提供了与当前窗口中加载的文档有关的信息,还提供一些导航功能。location是个神奇的对象,既是window对象也是document对象。
console.log(window.location == document.location);

1.属性
host 返回服务器名称和端口号
hostname 返回不带端口号的服务器名称
href 返回当前加载页面的完整URL
pathname 返回URL的目录和文件名
port 返回URL中指定的端口号
protocol 返回页面使用的协议
search 返回URL的查询字符串,这个字符串以问号开头

2.方法
assign() 传递一个url参数,打开新url,并在浏览记录中生成一条记录。

  replace()  参数为一个url,结果会导致浏览器位置改变,但不会再历史记录中生成新记录。

  reload()   重新加载当前显示的页面,参数可以为boolean类型,默认为false,
  表示以最有效的方式重新加载,可能缓存中直接加载。
  如果参数为false,墙纸从服务器中重新加载。

为location.href;window.location设置一个URL值,也会以该值调用assign()方法。以下三句话效果一样:
    window.location = "http://www.baidu.com";

    location.href = "http://www.baidu.com";

    location.assign("http://www.baidu.com");

);

四、history对象
该对象保存着用户上网的历史记录。出于安全考虑,来发人员无法得知用户浏览过的URL,
不过借由用户访问过的页面列表,同样可以不知道实际URL的情况下实现后退和前进。
注意:没有应用于History对象的公开标准,不过所有浏览器都支持该对象。

length  返回历史列表中的网址数
  注意:IE和Opera从0开始,而Firefox、Chorme和Safari从1开始。

back()  加载history列表中的前一个URL

forward()  加载history列表中的下一个URL

go()       加载history列表中的某个具体页面
               负数表示向后跳转,整数表示向前跳转

history.back() 返回上一页
history.forward() 返回下一页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值