JavaScript 内置对象Global、Math
在JS中,提供了两种内置对象类型Global、Math,更确切的说:所有不属于任何其他对象的属性和方法都属于Global,例如parseInt,parseFloat,isNaN等等。下面介绍下它的其他有用方法。
1:HTML编码方法,包括encodeURI,encodeURIComponent和decodeURI、decodeURIComponent,它们的区别在于每一对相似的组,**Component会将所有
例如:
var text="http://www.wrox.com/illegal value"; //输出http://www.wrox.com/illegal%20value alert(encodeURI(text)); //将上述字符全部编码替换掉 alert(encodeURIComponent(text));
而对应的decodeURI则是反向解析。
2:eval()方法,它可以用来作JavaScript函数表达式求值
alert(eval('3+2'));//输出5 alert('3+2');//输出3+2
但是这种函数应该尽可能的少用,因为极有可能造成代码注入的后果。
值得一提的是,在后来的Python里,也借鉴了这个的方法。Python中的eval方法的作用跟JS里的几乎一模一样。看下面的例子:
print int('3+2')#执行错误,提示无效的表达式 print eval('3+2')#正确输出5,并且更进一步的 a=eval('3+2'); print type(a);#输出type<'int'> #由此可见,python不光对表达式求了值,顺便还正确的转换了类型
最后谈下Math对象的属性和方法,Math对象主要用于数学计算的地方偏多。例如min()和max()方法主要用于确定一组数值中的最小值和最大值,这两个方法都可以用来接收任意多个数值参数。
var max=Math.max(3,54,32,18); alert(max);//输出最大值54 var min=Math.min(3,54,32,18); alert(min);//输出最小值3
下面介绍下它的几个舍入方法:ceil()、floor()、round(),其中ceil()总是向上舍入,floor()总是执行向下舍入,round()执行标准舍入,例如:
var min=Math.round(12.3); alert(min);//输出12
值得注意的是JS里的random()方法,返回介于0和1之间的一个随机数,不包括0和1。这不同于其他的传统编程语言。例如JAVA,JAVA返回一个[0,1)的这样区间,而python则返回[0,1]完全闭合的区间。