js-BOM
私有变量:
1、在一个实例上调用setName()会影响所有的实例
BOM:
1、全局变量不能通过delete操作符删除,而直接在window对象上定义的属性可以
2、尝试访问为声明的变量会抛出错误,但通过查询window对象,可以知道某个可能未声明的变量是否存在
var newValue=oldValue; //错误的
var newValue=window.oldValue; //undefined
3、除非最高层窗口是通过window.open()打开的,否则window对象的name属性
使用moveTo()和moveBy()方法将窗口精确的移到一个新的位置;
moveTo()的两个参数接收的是新位置的x与y的坐标值,而moveBy()接收的是在水平以及垂直方向上移动的像素数-----不适用于框架,只能对最外层的window对象适用
使用resizeTo()与resizeBy()调整浏览器窗口的大小:
resizeTo()接收浏览器窗口的新宽度以及新高度;resizeBy()接收新窗口与原窗口的宽度与高度之差
close()方法可以关闭新打开的窗口
将新创建的标签页的opener属性设置为null,即表示在单独的进程中运行新的标签页,不需要与打开它的标签页通信
4、
- 超时调用:使用window对象的setTimeOut()方法,接收两个参数,一个是要执行的代码(字符串或函数),还有一个是以毫秒表示的时间(即在执行代码之前要等待多少毫秒),调用该方法之后会返回一个数值ID,表示超时调用,通过它来取消超时调用clearTimeout()取消
var timeId=setTimeout(function() {
alert("hi");
},1000);
//取消
clearTimeout(timeId);
- 间歇调用:按照指定的时间间隔重复执行代码
setInterval(字符串或函数,每次执行之前需要等待的毫秒数);
clearInterval()
var num=0;
var max=10;
var intervalId=null;
function increameNumber(){
num++;
if(num==max){
clearInterval(intervalId);
alert("Done");
}
}
intervalId=setInterval(increameNumber,500)
//通过超时调用实现
var num=0;
var max=10;
function increameNumber(){
num++;
if(num<max){
setTimeout(increameNumber,500);
}else{
alert("Done");
}
}
setTimeout(increameNumber,500);
5、确认框:confirm()
6、Location(提供了与当前窗口加载的文件有关的信息,还提供了一些导航信息)
既是window对象的属性,也是document对象的属性
就是说window.location与document.location引用的是统一对象
7、改变浏览器的位置:location.assign(“网址”);
location.href(“网址”);
reload()方法是重新加载当前显示的页面,一般放在代码的最后一行;reload()--可能从缓存中重新加载 reload(true)----从服务器中重新加载
8、history对象保存着用户上网的历史记录,提供一个go方法,可以在用户的历史记
录中任意跳转
history.back()后退一页;forward()前进一页;go(-1)后退一页,go(1)前进一页
9、IE9之后,对所有的DOM对象都返回“function”