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]完全闭合的区间。

posted @ 2011-06-16 11:54  老去的JAVA程序员  阅读(228)  评论(0编辑  收藏  举报