BOM

BOM是值浏览器对象模型

一、window对象

1.1、全局作用域

在全局作用域中声明的变量,函数都会变成window属性和方法

 var age=29;
 unction sayAge(){
 console.log(this.age)
 }
 console.log(window.age);//29
 sayAge();//29
 window.sayAge()//29

但是,定义全局变量与在window对象上直接定义属性还是有一点差别:全局变量不能通过delete操作符删除,而直接在window对象上的定义的属性可以

var age=29;
window.color="red";
delete window.age;
delete window.color
console.log(window.age);//29
console.log(window.colors)//"undefined"

1.2、窗口关系及框架

1.3、窗口位置

用来确定和修改window对象位置:

  • Firefoox:screenX和screenY
    其他浏览器:screenLeft和screenRight
  • moveTo():接收的是新位置x,y坐标值
    moveBy():接受的是在水平和垂直方向上移动的像素数

1.4、窗口大小

  • innerWidth,innerHeight,outerWidth,outerHeight
  • resizeTo():接收浏览器窗口的新宽度和新高度
    resizeBy():接收新窗口与原窗口的宽度和高度之差

1.5、导航和打开窗口

  • window.open():接收四个参数,要加载的URL,窗口目标,一个特性字符串,新页面是否取代浏览器历史纪录中当前加载页面的布尔值
  • 通常情况下只用传递第一个参数,如果传递了第二个参数,而且该参数是已有的窗口或者框架的名称,那么就会具有该名称的窗口或者框架中加载第一个参数指定的URL
//等同于<a href="http://www.wrox.com" target="toopFrame">
window.open("http://www.wrox.com/","topFrame");

1.5.1、弹出窗口

第三个窗口时一个逗号分隔的字符串,表示在新窗口中都显示哪些特性
如果没有传入第三个参数,那么就会打开一个带有全部默认设置的新浏览器窗口

1.5.2、安全限制

1.5.3、弹出窗口屏蔽程序

var blocked=falsetry{
var wroxWindow=window.open("http://www/wrox.com/","_black");
if(wroxWindow==null){
blocked=true
}
}catch(ex){
blocked=true
}if(blocked){
console.log("The popup was blocked")}

1.5.4、间歇调用和超时调用

  • 超时调用:setTimeout()
var num=0;
var max=10;
var intervllid=null;
function incrementnumber(){
num++;
if(num==max){
clearInterval(intervllid);
console.log("Done");
}
}
intervllid=setInterval(incrementnumber,500)
  • 间歇调用:setInterval()
var num=0;
var max=10;
var intervllid=null;
function incrementnumber(){
num++;
//如果未达到max设定的值,则设置另一次潮湿调用
if(num<max){
setTimeout(incrementnumber,500)
}else{
console.log("Done")
}
}
setTimeout(incrementnumber,500)

实际开发中,一般使用超时调用来模拟间歇调用,很少使用间歇调用,原因是最后一个间歇调用可能在前一个间歇调用之前开始启动

1.5.5、系统对话框

alert()
confirm()
prompt()

二、location对象

它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航问题

2.1、查询字符串参数

2.2、位置操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值