我们能够理解的是JavaScript的内置函数对于日常编程的重要性,因此进行熟练的掌握至关重要。
JavaScript内置函数
函数 | 说明 |
---|---|
eval() | 求字符串中表达式的值 |
isFinite() | 判断一个数值是否为无穷大 |
isNaN() | 判断一个数值是否为NaN |
parseInt() | 将字符串转化为整数 |
parseFloat() | 求字符串转化为浮点数 |
encodeURI() | 求字符串转化为有效的URL |
encodeURIComponent() | 求字符串转化为有效的URL组件 |
dncodeURI() | 对encodeURI()编码文本进行编码 |
decodeURIComponent() | 对encodeURIComponent()编码文本进行编码 |
eval()函数(重点)
初次看见这个函数是在PHP中,被人称为"最邪恶的函数",原因是它能将字符串进行计算。
这个函数及其重要,对于字符串转json格式至关重要。
var user = '{name:"张三",age:23,'+
'address:{city:"青岛",zip:"266071"},'+ 'email:"iteacher@haiersoft.com.cn",'+
'showInfo:function(){'+
'document.write("姓名:"+this.name+"<br/>");'+
'document.write("年龄:"+this.age+"<br/>");'+
'document.write("地址:"+this.address.city+"<br/>");'+
'document.write("邮编:"+this.address.zip+"<br/>");'+
'document.write("E-mail:"+this.email+"<br/>");} }';
var u = eval('('+user+')'); //此处为重点
u.showInfo();
isFinite()函数
如果 number 是有限数字(或可转换为有限数字),那么返回 true。否则,如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。
document.write(isFinite(123)+ "<br />") //true
document.write(isFinite(-1.23)+ "<br />") //true
document.write(isFinite(5-2)+ "<br />") //true
document.write(isFinite(0)+ "<br />") //true
document.write(isFinite("Hello")+ "<br />") //false
document.write(isFinite("2005/12/12")+ "<br />")//false
isNaN()函数
提示和注释
提示:isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字。当然也可以用 isNaN() 函数来检测算数错误,比如用 0 作除数的情况。
检查数字是否非法:
document.write(isNaN(123)); //false
document.write(isNaN(-1.23)); //false
document.write(isNaN(5-2)); //false
document.write(isNaN(0)); //false
document.write(isNaN("Hello")); //true
document.write(isNaN("2005/12/12")); //true
parseInt()函数(重点)
将字符转化为整型,字符串必须以数字开头,否则返回NaN。
parseFloat()函数(重点)
将字符转化为浮点型,字符串必须以数字开头,否则返回NaN。
encodeURI()函数
返回一个URI字符串编码后的结果。
此函数不会对ASCII字母和数字进行编码,也不会对这些ASCII标点符号进行转义。例如空格转化为"%20"。
代码展示:
document.write(encodeURI("http://www.w3school.com.cn")+"<br/>");
document.write(encodeURI("http://www.w3school.com.cn/My first/")+"<br/>");
document.write(encodeURI(",/?:@&=+ $ #")+"<br/>");
运行结果:
http://www.w3school.com.cn
http://www.w3school.com.cn/My%20first/
,/?:@&=+ $ #
dncodeURI()函数
对已编码为URI的字符串解码成最初的字符串返回。
encodeURIComponent()函数
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
代码展示:
document.write(encodeURIComponent("http://www.w3school.com.cn"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/?:@&=+$#"))
运行结果:
http%3A%2F%2Fwww.w3school.com.cn
http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23
decodeURIComponent()函数
对encodeURIComponent函数编码文本进行编码。