JavaScript内置的预定义函数
javascript引擎中有一组可供随时调用的内建函数。这些内建函数包括
parseInt() 将收到的任何输入值转换成整数类型输出,如果转换失败,返回NaN
parseFloat() 功能基本与parseInt()相同,只不过他只支持十进制,并且支持小数和指数形式。
isNaN() 确定某个输入值是否是一个可以参与算术运算的数字
isFinite() 用来检查输入是否一个既非infinity也非NaN的数字。
encodeURI() 返回一个可用的URL
decodeURI() encodeURI()反转意函数
encodeURIComponent() 传递的仅仅是URL的一部分
decodeURIComponent() encodeURIComponent()反转意函数
eval() 将其输入的字符串当作JavaScript代码来执行
一般来说,当我们调用一个函数时,程序是不需要知道该函数内部的工作细节的,我们可以将其看作一个黑盒子,你只需要给他一些值(参数),就能够获取他输出的返回结果。这种思维适用于任何函数—-既包括JavaScript中的内建函数,也包括有任何个人或集体所创建的函数。
parseInt()
转换成整数输出:该函数还有第二个可选参数 radix,他负责设定函数所期望的数字类型–十进制,十六进制,二进制等。
我们在调用parseInt()时没有指定第二参数,函数就会默认以十进制转换,但是由两种情况例外,
1>如果首参数字符串是以‘0x’开头,默认十六进制。
2>如果首参数字符串是以0开头,默认八进制。
当然,明确radix值总是最安全的。如果省略了他,尽管99%是正确的,但是我们偶尔韩式会发现一些小问题,如,我们从日历中读取日期是,遇到08这样的数据,不设定radix参数值就会导致意想不到的结果。
parseFloat()
功能基本与parseInt()相同,只不过他只支持十进制,并且支持小数和指数形式。
isNaN()
isNaN()我们可以确定某个输入值是否是一个可以参与算术运算的数字。因此,该函数也可以用来检测parseInt()和parseFloat()的调用成功与否。
该函数也会始终试图将其所接收的输入转换为数字,例如:
NaN可以理解为一个集合,同属于一个集合的值自然未必是等值的。
isFinite() 可以用来检查输入是否一个既非infinity也非NaN的数字。
encodeURI() ,decodeURI() ,encodeURIComponent() ,decodeURIComponent()
在URL (统一资源定位符)或URI(统一资源标识符)中,有一些特殊含义的字符,我们想转义这些字符就要调用encodeURI(),encodeURIComponent()前者会返回一个可用的URL而后者会认为我们所传递的仅仅是URL的一部分。
eval()
会将其输入的字符串当作JavaScript代码来执行
性能方面:它是一种由函数执行的“动态”代码,显然要比直接执行脚本慢得多。
安全性方面:JavaScript拥有的功能很强大,但这也意味着很大的不确定性,如果你对放在eval()函数中的代码没有太多的把握,最好不要这样使用。
alert()
alert()函数不是JavaScript核心的一部分,而是由宿主环境浏览器所提供的用于显示文本的对话框。
alert()通常用在调试程序时使用。
在使用这个函数之前,我们必须要知道这样做会阻塞当前的浏览器线程。对于一个忙碌的ajax应用程序来说,alert()通常不是一个喊得选择