私有變量:
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”??
?