Js常见的几个的全局函数
全局函数 | 描述 |
---|---|
parseInt() | 解析一个字符串并返回一个整数 |
parseFloat() | 解析一个字符串并返回一个浮点数 |
Number() | 把对象的值转换为数字 |
String() | 把对象的值转换为字符串 |
eval() | 计算 JavaScript 字符串,并把它作为脚本代码来执行 |
isNaN() | 检查某个值是否是数字 |
isFinite() | 检查某个值是否为有穷大的数 |
# parseInt
parseInt() 函数可解析一个字符串,并返回一个整数。
语法:
parseInt(string, radix)
string 必需,要被解析的字符串;radix可选,表示要解析的数字的基数,该值介于 2 ~ 36 之间。
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
当忽略参数 radix , JavaScript 默认数字的基数如下:
- 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
- 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
- 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
# parseFloat
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
语法:
parseFloat(string)
string必需,要被解析的字符串。
该函数指定字符串中的首个字符是否是数字。
如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
字符串中只返回第一个数字。
开头和结尾的空格是允许的。
如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。
# Number
Number() 函数把对象的值转换为数字。
语法:
Number(object)
object 可选一个 JavaScript 对象; 如果没有提供参数,则返回0。
如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。
- 如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
# String
String() 函数把对象的值转换为字符串。
语法:
String(object)
object必需,JavaScript对象。
# eval
eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。
语法:
eval(string)
string 必需, 要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。
- eval() 函数并不会创建一个新的作用域,可以利用window.eval()将eval()在全局作用域使用。
实例:
eval("x=10;y=20;document.write(x*y)");//200
document.write("<br>" + eval("2+2"));//4
eval("test()");//执行test()函数
eval("{a:1}");//声明一个对象,如果想返回此对象,需在对象加一层小括号:eval("({a:1})")
function f(){
window.eval('var b = 1') ;
console.log(b);
}
f();
console.log(b);
# isNaN
isNaN() 函数用于检查其参数是否是非数字值。
语法:
isNaN(value) //value必需,要检测的值。
如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。
# isFinite
isFinite() 函数用于检查其参数是否是无穷大,也可以理解为是否为一个有限数值(finite number)。
语法:
isFinite(value)//value必需,要检测的值。
如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true。