与操作字符串有关的最后一个方法是localeCompare(),这个方法比较两个字符串,按照字符串的字母表中的位置分别返回-1,0,1

var stringValue="yellow";

alert(stringValue.localeCompare("brick"));  //1

alert(stringValue.localeCompare("yellow"));  //0

alert(stringValue.localeCompare("zoo"));  //-1

这个方法对于不同地区有着不同的行为,美国以英语作为ECMA实现的标准语言,是区分大小写的,大写字母是排在小写字母前的

还有一个属于构造函数的静态方法与charCodeAt()执行相反操作的fromCharCode(),将传入的支付编码转换为字符串

alert(String.fromCharCode(104,101,108,108,111));  //"hello"

单体内置对象

内置对象定义“由ECMAScript实现提供的,不依赖与宿主环境的对象,这些对象在执行ECMAScript程序之前就已经存在了。”例如Object、Array和String

ECMA-262还定义了两个单体内置对象Global和Math

所有在全局作用域中定义的属性和函数都属于Global对象,前面介绍过的诸如isNan()、isFinite()、parseInt()以及parseFloat()等都属于Global,下面介绍其他方法

encodeURI()对URI进行编码,转换无效的字符,用于整个URI,不会对本身属于URI的特殊字符进行编码,如冒号、正斜杠、问号和井字号,对应decodeURI()

encodeURIComponent()对URI进行编码,转换无效的字符,用于URI中某一段,对它发现的任何非标准字符进行编码对应decodeURIComponent()

有效的URI中不能包含某些 空格等字符

var uri="http://www.bai du.com/";

alert(encodeURI(uri));  //"http://www.bai%20du.com/"

alert(encodeURIComponent(uri));  //对非字母全部转换

eval()方法,它接收一段ECMAScript字符串,并执行,这段字符串的作用域就是调用eval()方法的作用域,eval()里定义的变量或者函数不会被提升,在严格模式下无法访问eval()中创建的任何变量或者函数

ECMAScript没有指出如何访问Global对象,却可以访问window里的全局变量或者函数

Math对象能计算一些数学公式和信息

它的min()方法和max()方法用于确定一组数值中的最小值和最大值,它们都可以接收任意个数值参数

var max=Math.max(3,54,32,16);

alert(max);  //54

 

//取数组中的最大值

var=[1,2,3,4,5,6,7];

var max=Math.max.apply(null.value);  //所有函数都有apply(作用域链,参数)这个方法,这个函数的“参数”,接收一个数组,并且是将数组中的每个值,分开来,传递给调用函数。

Math.ceil()向上舍入取整

Math.floor()向下舍入取整

Math.round()四舍五入

random() 0~1随机数,方法:值=Math.floor(Math.random()*项数+第一项可能的值)

Math.ads(num)  //num绝对值

Math.pow(num,power)  //num的power次幂