与操作字符串有关的最后一个方法是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次幂
等