測試一下全局對象的部分屬性和方法
*Gobal內容
---屬性
NaN, 表示非數字
Infinity, 表示無限大數字
debugger, 還不知道如何使用?
undefined , 表示一個實例沒有定義任何值,是一個特殊的基本類型
---方法
eval, 執行一段string格式的javascript腳本, 將執行結果放在eval位置上.(可能需要一篇專門的文章討論其執行作用域問題).
parseInt, (詳見,http://www.w3schools.com/jsref/jsref_parseint.asp)
parseFloat, (詳見, http://www.w3school.com.cn/js/jsref_parseFloat.asp)
escape,unescape,(ECMA不推薦,見http://www.w3school.com.cn/js/jsref_escape.asp)
isNaN, if 非數字 return true, 否則 false
isFinite, if InFinity return false, 否則 true
decodeURI,encodeURI (字母數字和屬於URI特殊字符的保持原樣, 其他的字符編碼,如空格替換為'%20')
decodeURIComponent,encodeURIComponent (編碼所有非字母數字的字符,使用時需注意,否則url非法)
*示例
---源碼 (在Node中測試)

1 //attribute 2 console.log("//test NaN"); 3 if(NaN) 4 console.log("NaN is true"); 5 else 6 console.log("NaN is false"); 7 console.log("NaN's value: " + NaN); 8 console.log("NaN's type: " + NaN); 9 console.log("\n"); 10 11 console.log("//test Infinity"); 12 if(Infinity) 13 console.log("Infinity is true"); 14 else 15 console.log("Infinity is false"); 16 console.log("Infinity's value: " + Infinity); 17 console.log("Infinity's type: " + Infinity); 18 console.log("\n"); 19 20 console.log("//test undefined"); 21 if(undefined) 22 console.log("undefined is true"); 23 else 24 console.log("undefined is false"); 25 console.log("undefined's value: " + undefined); 26 console.log("undefined's type: " + undefined); 27 console.log("\n"); 28 29 /** 30 console.log("//test debugger"); 31 if(debugger) 32 console.log("debugger is true"); 33 else 34 console.log("debugger is false"); 35 console.log("debugger's value: " + debugger); 36 console.log("debugger's type: " + debugger); 37 console.log("\n"); 38 */ 39 40 //function 41 console.log("//test escape/unescape"); 42 var str = escape("dai zhong"); 43 console.log("escape(string): " + str); 44 console.log("unescape(string): " + unescape(str)); 45 console.log("\n"); 46 47 console.log("//test encodeURI/decodeURI"); 48 var url = "http://www.cnblogs.com/bronte 戴忠的博客"; 49 url = encodeURI(url); 50 console.log("encodeURI: " + url); 51 console.log("decodeURI: " + decodeURI(url)); 52 console.log("\n"); 53 54 console.log("//test encodeURIComponent/decodeURIComponent"); 55 var url = "http://www.cnblogs.com/bronte 戴忠的博客"; 56 url = encodeURIComponent(url); 57 console.log("encodeURIComponent: " + url); 58 console.log("decodeURIComponent: " + decodeURIComponent(url)); 59 console.log("\n"); 60 61 console.log("//test eval"); 62 var str = "eval"; 63 eval("console.log(str)"); // eval 64 console.log("\n"); 65 66 console.log("//test isFinite"); 67 if(isFinite(Infinity)) 68 console.log("isFinite(Infinity) is true"); 69 else 70 console.log("isFinite(Infinity) is false"); 71 if(isFinite(11)) 72 console.log("isFinite(11) is true"); 73 else 74 console.log("isFinite(11) is false"); 75 console.log("\n");
---結果

1 //test NaN 2 NaN is false 3 NaN's value: NaN 4 NaN's type: NaN 5 6 7 //test Infinity 8 Infinity is true 9 Infinity's value: Infinity 10 Infinity's type: Infinity 11 12 13 //test undefined 14 undefined is false 15 undefined's value: undefined 16 undefined's type: undefined 17 18 19 //test escape/unescape 20 escape(string): dai%20zhong 21 unescape(string): dai zhong 22 23 24 //test encodeURI/decodeURI 25 encodeURI: http://www.cnblogs.com/bronte%20%E6%88%B4%E5%BF%A0%E7%9A%84%E5%8D%9A%E5%AE%A2 26 decodeURI: http://www.cnblogs.com/bronte 戴忠的博客 27 28 29 //test encodeURIComponent/decodeURIComponent 30 encodeURIComponent: http%3A%2F%2Fwww.cnblogs.com%2Fbronte%20%E6%88%B4%E5%BF%A0%E7%9A%84%E5%8D%9A%E5%AE%A2 31 decodeURIComponent: http://www.cnblogs.com/bronte 戴忠的博客 32 33 34 //test eval 35 eval 36 37 38 //test isFinite 39 isFinite(Infinity) is false 40 isFinite(11) is true
*總結
---全局對象是一個特殊的內置對象, 由解析器在初始化時創建, 具體如何實現有具體環境決定, 如瀏覽器中的window對象就是全局對象;
---全局對象表示的是所有對象的根對象, 比如js的語法之一,name = "dzh",這個name沒有用var聲明, 那么name被添加到了全局對象的屬性上;
---所以它提供了最為常用的功能和屬性定義.
*參考