内置函数

首页 > JavaScript语法 > 内置函数

目录

■ 一览

escape(), eval(), isFinite(), isNaN(), Number(), parseFloat(), parseInt(), String(), unescape()

数值转换

Number(exp)

exp 转换成数值。如果 exp 是日期对象,则返回从1970年1月1日到此日期的毫秒数。转换失败时返回特殊值 NaN 。考虑到不支持 Number() 函数的骨灰浏览器,一般只要把字符串减去 0 就能变成数值。

num = Number("123") + Number("456"); // num 的值为579
num = ("123" - 0) + ("456" - 0);     // num 的值为579
parseFloat(string)

把字符串 string 转换为浮点数。转换失败时返回特殊值 NaN 。

num = parseFloat("1.23");  // num 的值为1.23
parseInt(string [, radix])

把字符串 string 转换为整数,小数点以下被舍去。设定 radix 为 2, 8, 10, 16 的话,被转换的字符串被会解释为2, 8, 10, 16进制数。省略 radix 的时候,字符串以 "0x" 开头则解释为16进制数,以"0" 开头则解释为8进制数,其他情况为10进制数。转换失败时返回特殊值 NaN 。

xx = parseInt("1.99");    // xx的值为1
xx = parseInt("123abc");  // xx的值为123
xx = parseInt("abc123");  // xx的值为NaN
xx = parseInt("0xff");    // xx的值为255
xx = parseInt("0777");    // xx的值为511
xx = parseInt("ab", 16);  // xx的值为171

字符串转换

String(num)

num 转换成字符串。考虑到不支持 String() 函数的骨灰浏览器,一般只要把数值加上 "" 就能变成字符串。

str = String(123) + String(456); // str的值为"123456"
str = (123 + "") + (456 + "");   // str的值为"123456"

编码

escape(string)

对字符串进行编码,以便使其他计算机也能读取该字符串。比如要把汉字放在 URL 里,或者 Cookie 的参数里的时候用这个函数。

str = escape("猴子也能看懂的网页制作入门");
unescape(string)

将被 escape() 编码的字符串进行解码。

str = unescape("%3F%21%3D%28%29%23%25%26");

■ 值的判断

isNaN(value)

判断 value 是否不为数值(NaN 是 Not a Number 的缩写)。当 value 为数值或是能解释为数值的字符串则返回 false ,其他情况返回 true 。

if (isNaN(num = parseInt(str))) {
    alert("不是数值。");
}
isFinite(num)

判断 num 是否为有限数值。有限数值返回 true ,无限数值返回 false 。

■ 执行脚本

eval(statements)

statements 当成 JavaScript 脚本来执行。此函数不常用。

ans = eval("3 + (6 * 4)");  // ans的值为27