JavaScript中的全局函数—数值型函数
一 parseInt(string,radix):返回转换成整数的值
注意:
1.当参数radix的值为0时,或者没有设置这个参数,parseInt()会根据string来判断数字的基数;
2.当忽略radix.JavaScript默认数字的基数规则为
(1)如果string()以0x开头 parseInt()会把string的其余部分解析为十六进制的整数;
(2)如果string()以0开头,那么ECMAScript v3允许 parseInt()的一个实现把其后的字符解析为八进制或十六进制的数;
(3)如果string()以1~9的数字开头,parseInt()把它解析为十进制的整数;
(4)字符串如果以合法字符开始,截取合法字符;
(5)开头和结尾的空格是允许的;
(6)如果字符串的第一个字符不能转换为数字,parseInt()会返回NaN;
(7)在字符串以“0”为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的数。
二 parseFloat(string):返回转换成浮点型的值
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行分析,直到到达数字的末端为止,然后以数字返回数该字,而不是作为字符串。
三 isFinite(value):检测某个值是否是无穷值
如果number是NaN或者+Infinity的数, isFinite()返回false
四 isNaN(value):检测某个值是否是NaN
isNaN()检测是否是非数字值,如果值为NaN返回true,否则返回false。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
document.write(parseInt('34')+'<br/>');
document.write(parseInt('3king')+'<br/>');
document.write(parseInt('maizi')+'<br/>');
document.write(parseInt('11 22 33 44')+'<br/>');
document.write(parseInt('F')+'<br/>');
document.write(parseInt('F',16)+'<br/>');
document.write(parseInt('17',8)+'<br/>');
document.write(parseInt('0xfff')+'<br/>');
//二进制转换成其他进制
document.write('<hr/>');
document.write('二进制转换成其他进制的结果<br/>');
document.write(parseInt('11001010',2)+'<br/>');
document.write(parseInt('11001010',8)+'<br/>');
document.write(parseInt('11001010',10)+'<br/>');
document.write(parseInt('11001010',16)+'<br/>');
document.write(parseInt('202',2)+'<br/>');
//转换成浮点型
document.write('<hr/>');
document.write(parseFloat('2.6')+'<br/>');
document.write(parseFloat('323')+'<br/>');
document.write(parseFloat('2e2')+'<br/>');
document.write(parseFloat('123abc')+'<br/>');
document.write(parseFloat('2.6 ')+'<br/>');
document.write(parseFloat('a2.6')+'<br/>');
//通过isFinite()检测是否是无穷值
var x=123;
x=Infinity;
x=-Infinity;
x=0/0;
x=0;
x=false;
//alert(isFinite(x));
x=NaN;
x=123;
x=false;
x=parseInt('king3');
alert(isNaN(x));
</script>
</body>
</html>
五 encodeURI(uri):将字符串编码为URI
注意:
(1)使用decodeURI()方法可以编码URL(通用资源标识符:UniformResourseIdentifier,简称“URI”)
(2)对以下在URI中具有特殊含义的ASCII标点符号, encodeURI()函数是不会进行转义的:,/ ? : @ & = +
$ #(可以使用encodeURIComponent()方法分别对待特殊含义的ASCII标点符号进行编码。)
六 decodeURI(uri):解码某个个编码的URI
七 encodeURIComponent(uri):将字符串编码为URI组件
注意:
(1)该方法不会对ASCII字母和数字进行编码,也不会对这些ASCII标点符号进行编码:-_.!~*‘();
(2)其他字符(比如: ;/? :@&=+,# 这些用于分隔URI组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
八 decodeURIComponent():解码一个编码的URI组件
九 escape():对字符串进行编码
注意:
(1)escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串;
(2)该方法不会对ASCII字母和数字进行编码,也不会对下面这些ASCII标点符号进行编码:* @ -_+ . / 。其他所有的字符都会被转义序列替换的;
(3)escape()函数不能用于编码URI(通用资源标识符:UniformResourseIdentifier,简称“URI”)。
十 unescape():解码由 escape()编码的字符串
十一 eval():将JavaScript字符串当做脚本来执行
注意:
(1)如果参数是一个表达式,eval()函数将执行表达式,如果参数是JavaScript语句,eval()将执行JavaScript语句;
(2)eval()函数是一种由函数执行的动态代码,比直接执行脚本慢很多;
(3)慎重使用eval()函数,尽量不使用,保证程序的安全性;
十二 Number(object):把对象的值转换为数字
注意:
(1)如果对象的值无法转换为数字,Number()函数返回NaN;
(2)如果参数的Date对象, Number()返回从1970年1月1日到现在所经历的毫秒数。
十三 String()把对象的值转换为字符串
注意:String()函数返回与字符串对象的toDtring()方法值一样。