js~示例Global对象
测试一下全局对象的部分属性和方法
*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被添加到了全局对象的属性上;
---所以它提供了最为常用的功能和属性定义.


浙公网安备 33010602011771号