1. 在JavaScript代码嵌入一个特殊环境中时, 全局对象通常具有环境特定的属性。在浏览器中, JavaScript全局对象就是Window对象。
2. 全局对象只是一个对象, 而不是类。既没有构造函数, 也无法实例化一个新的全局对象。
3. 全局函数
4. 全局属性
5. encodeURI()函数
5.1. encodeURI()函数可把字符串作为URI进行编码。
5.2. 语法
encodeURI(URIstring)
5.3. 参数
5.4. 返回URIstring的副本, 其中的某些字符将被十六进制的转义序列进行替换。
5.5. 该方法不会对ASCII字母和数字进行编码, 也不会对这些ASCII标点符号进行编码。
6. encodeURIComponent()函数
6.1. encodeURIComponent()函数可把字符串作为URI组件进行编码。
6.2. 语法
encodeURIComponent(URIstring)
6.3. 参数
6.4. 返回URIstring的副本, 其中的某些字符将被十六进制的转义序列进行替换。
6.5. 该方法不会对ASCII字母和数字进行编码, 也不会对这些ASCII标点符号进行编码。不过, 这些用于分隔URI组件的标点符号(;/?:@&=+$,#), 会由一个或多个十六进制的转义序列替换。
7. decodeURI()函数
7.1. decodeURI()函数可对encodeURI()函数编码过的URI进行解码。
7.2. 语法
decodeURI(URIstring)
7.3. 参数
7.4. 返回URIstring的副本, 其中的十六进制转义序列将被它们表示的字符替换。
8. decodeURIComponent()函数
8.1. decodeURIComponent()函数可对encodeURIComponent()函数编码的URI进行解码。
8.2. 语法
decodeURIComponent(URIstring)
8.3. 参数
8.4. 返回URIstring的副本, 其中的十六进制转义序列将被它们表示的字符替换。
9. eval()函数
9.1. eval()函数可计算某个字符串, 并执行其中的的JavaScript代码。
9.2. 语法
eval(string)
9.3. 参数
9.4. 返回通过计算string得到的值(如果有的话)。
9.5. 该方法只接受原始字符串作为参数, 如果string参数不是原始字符串, 那么该方法将不作任何改变地返回。因此请不要为eval()函数传递String对象来作为参数。
9.6. 虽然eval()的功能非常强大, 但在实际使用中用到它的情况并不多。而且eval()效率低下。
10. 例子
10.1. 代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<title>全局函数</title>
</head>
<body>
<script type="text/javascript">
var userName = '张三@qq.com';
var password = 'a !"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~1';
var uri = 'http://www.zrq.com/login.action?';
var eURI = uri + 'userName=' + encodeURI(userName) + '&password=' + encodeURI(password);
var eURICpt = uri + 'userName=' + encodeURIComponent(userName) + '&password=' + encodeURIComponent(password);
document.write('userName = ' + userName + ', password = ' + password + '<hr />');
document.write(eURI + '<br />');
document.write(eURICpt + '<hr />');
document.write(decodeURI(eURI) + '<br />');
document.write(decodeURIComponent(eURICpt) + '<hr />');
eval("x=10;y=20;document.write(x+' * '+y+' = '+x*y);");
</script>
</body>
</html>
<!--
空格 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
空格 ! %22 # $ %25 & ' ( ) * + , - . / : ; %3C = %3E ? @ %5B %5C %5D %5E _ %60 %7B %7C %7D ~
空格 ! %22 %23 %24 %25 %26 ' ( ) * %2B %2C - . %2F %3A %3B %3C %3D %3E %3F %40 %5B %5C %5D %5E _ %60 %7B %7C %7D ~
" % < > [ \ ] ^ ` { | }
空格 # $ & + , / : ; = ? @
奇怪的是encodeURIComponent为什么没有对!'()~五个字符编码
-->
10.2. 效果图