1.全域變數不能通過delete操作符刪除, 而直接在window物件上定義的屬性可以。
var age = 29; window.color = "red"; delete age;//無法刪除 delete color;//可以刪除 alert(window.age);//29 alert(window.color);//undefined2.嘗試訪問未聲明的變數會拋出錯誤, 但通過查詢window物件可以知道某個可能未聲明的變數是否存在。
var newValue = oldValue;//會拋錯, 因為oldValue未定義 var newValue = window.oldValue;//不會出錯, 因為這是一次屬性查詢, newValue的結果是undefined3.location物件查詢字串參數
雖然location.search可以返回從問號到URL末尾的所有內容, 但卻沒有辦法逐個訪問其中的每個查詢字串參數。 為此, 可以創建下面這樣一個函數, 用以解析查詢字串, 然後返回包含所有參數的一個物件:
function getQueryStringArgs{ //取得查詢字串並去掉開頭的問號 var qs = (location.search.length > 0 ? location.search.substring(1) : ""); //保存資料的物件 var args = ; //取得每一項 var items = qs.length ? qs.split("&") : ; var item = null; var name = null; var value = null; //逐個將每一項添加到args對象中 for(var i=0;i//假設查詢的字串是?q=javascript&num=10var args = getQueryStringArgs;
alert(args["q"]);//javascript
alert(args["num"]);//10
這個函數的第一步是先去掉查詢字串開頭的問號,