全局函数与内置对象的属性或方法不是一个概念。全局函数它不属于任何一个内置对象。JavaScript 中包含以下14个全局函数,用于完成一些常用的功能:escape( )、eval( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )、decodeURI()、decodeURIComponent()、encodeURI()、encodeURIComponent()、getClass()、Number()、String()。
1.escape():
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
返回已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。
计算 JavaScript 字符串,并把它作为脚本代码来执行。
3.isFinite( )
检查某个值是否为有穷大的数。如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
4.isNaN( )
检查某个值是否是数字,如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。
5.parseFloat( )
parseFloat() 函数可解析一个字符串,并返回一个浮点数。该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
parseFloat 将它的字符串参数解析成为浮点数并返回。如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。
如果参数字符串的第一个字符不能被解析成为数字,则 parseFloat 返回 NaN。
6.parseInt( )
parseInt() 函数可解析一个字符串,并返回一个整数。
7.unescape( )
unescape() 函数可对通过 escape() 编码的字符串进行解码。
该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。
8.decodeURI()
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。返回URIstring 的副本,其中的十六进制转义序列将被它们表示的字符替换。
9.decodeURIComponent()
decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。返回URIstring 的副本,其中的十六进制转义序列将被它们表示的字符替换。
10.encodeURI()
encodeURI() 函数可把字符串作为 URI 进行编码。返回URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明:该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
实例:
11.encodeURIComponent()
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。返回URIstring的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明:该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
实例:
12.getClass()
getClass() 函数可返回一个 JavaObject 的 JavaClass,返回javaobj 的 JavaClass 对象。
说明:该函数可接受一个 JavaObject 对象作为其参数,并返回该对象的 JavaClass,即返回 JavaClass 对象。该 JavaClass 对象表示 Java 对象的 Java 类,而这个 Java 对象所表示的 Java 类是由 JavaObject 指定的。
习惯用法:请不要把 JavaScript 的 getClass() 函数与所有 Java 对象的 getClass 方法混淆在一起。也不要把 JavaScript 的 JavaClass 对象与 Java java.lang.Class 类混淆了。
请看下面这行代码,它可创建一个 Java Rectangle 对象:
var obj = new java.awt.Rectangle();
obj 是一个保存了 JavaObject 的 JavaScript 变量。我们可以调用 JavaScript 函数 getClass() 返回一个 JavaClass 对象,该 JavaClass 对象表示 java.awt.Rectangle 类:
var cls = getClass(obj);
而调用 Java getClass() 的方式有所不同,且执行完全不同的功能:
cls = obj.getClass();
在执行了上面这行代码后,cls 是表示 java.lang.class 对象的一个 Java Object。这个 java.lang.class 对象是一个 Java 对象,它是 java.awt.Rectangle 类的一个 Java 表示。
目前IE、FireFix、Chrome都还不支持getClass() 函数。
13.Number()
Number() 函数把对象的值转换为数字。如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
14.String()
String() 函数把对象的值转换为字符串。
特别注意:
setTimeout只是window对象的一个方法而已,setTimeout(code,millisec),其中code必需,要调用的函数后要执行的 JavaScript 代码串;millisec必需,在执行代码前需等待的毫秒数。