JavaScript全局函数

Posted AnswerTheQuestion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript全局函数相关的知识,希望对你有一定的参考价值。

js全局函数

1、decodeURI() 参数:string 

功能描述:对 encodeURI() 函数编码过的 URI 进行解码。 

实例: 

可把 http://www.jb51.net/My%20first/ 解码为 http://www.jb51.net/My first/ 

2、decodeURIComponent() 参数:string 

功能描述:函数可对 encodeURIComponent() 函数编码的 URI 进行解码。 

3、encodeURI() 参数:string 

功能描述:可把字符串作为 URI 进行编码。 

提示:如果 URI 组件中含有分隔符,比如 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。 


4、encodeURIComponent() 

功能描述:可把字符串作为 URI 组件进行编码。 

请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。 

因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。 

5、escape() 参数:string 

功能描述:可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。该方法不会对 ASCII 字母和数字进行编码, 

也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * \' ( ) 。其他所有的字符都会被转义序列替换。 

温馨提示:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。 

6、unescape() 参数:string 

功能描述:可对通过 escape() 编码的字符串进行解码。该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字), 

用 Unicode 字符 \\u00xx 和 \\uxxxx 替换这样的字符序列进行解码。 

温馨提示:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。 

7、eval() 参数:string 

功能描述:可计算某个字符串,并执行其中的的 javascript 代码。 

实例: 

document.write(eval("12+2")) 将输出 14 
注意:参数必需是string类型的,否则该方法将不作任何改变地返回. 
8、isFinite() 参数: number 
功能描述:用于检查其参数是否是有穷大的。如果 number 是有限数字(或可转换为有限数字), 
那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。 
实例: 
isFinite(-125)和isFinite(1.2)返回true, 
而isFinite(\'易水寒\')和isFinite(\'2011-3-11\')返回false. 
9、isNaN() 参数:无限制 
功能描述:函数用于检查其参数是否是非数字值。 
实例: 
isNaN(123) 和isNaN(0)返回false 
isNaN("易水寒")和isNaN("100") 返回true. 
注意:可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。 
10、Number() 参数:无限制 
功能描述:把对象的值转换为数字。 如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。 如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。 实例: 
var test1= new Boolean(true); 
var test2= new Boolean(false); 
var test3= new Date(); 
var test4= new String("999"); 
var test5= new String("999 888"); 

document.write(Number(test1)); 输出 1 
document.write(Number(test2)); 输出 0 
document.write(Number(test3)); 输出 1256657776588 
document.write(Number(test4)); 输出 999 
document.write(Number(test5)); 输出 NaN

11.parseInt(String,radix):返回转换成整数的值。

   注意:当参数radix的值为0,或者没有设置这个参数,parseInt()会根据string来判断数字的基数。

     当忽略radix,JavaScript默认数字的基数规则为:

        1.如果string以0x开头,parseInt()会把string的其余部分解析为十六进制的整数。

        2.如果string以0开头,那么ECMAScript v3允许parseInt()的一个实现把其后的字符解析为八进制或十六进制的数。

        3.如果string以1~9的数字开头,parseInt()将把它解析为十进制的整数。

        4.如果字符串以合法字符开始,parseInt()会截取合法字符。

        5.String开头和结尾的空格是允许的。

        6.如果字符串的第一个字符不能被转换为数字,parseInt()会返回NaN。

        7.在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。

12.parseFloat(string):返回转换成浮点型的值。

  该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

13.String():把对象的值转换为字符串

  String() 函数返回与字符串对象的toString()方法值一样

以上是关于JavaScript全局函数的主要内容,如果未能解决你的问题,请参考以下文章

检查是不是在 JavaScript 中覆盖了全局属性/函数

全局、本地和私有函数 (Javascript)

JavaScript基础之全局函数与分支结构

JavaScript全局函数

JavaScript 全局对象

JavaScript函数内部修改全局变量的问题一道面试题