(一).Global对象
所有在全局作用域中定义的属性和函数,都是Global对象的属性。例如isNaN()、isFinite()、parseInt()以及parseFloat(),实际上全是Global对象的方法。
1. URI 编码方法 encodeURI() 和 encodeURIComponent()
有效的URI不能包含某些字符,例如空格。而这两个URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。
var uri = "http://www.baidu.com.cn/illegal value.htm#start"; alert(encodeURI(uri));//http://www.baidu.com.cn/illegal%20value.htm#start alert(encodeURIComponent(uri)); //http%3A%2F%2Fwww.baidu.com.cn%2Fillegal%20value.htm%23start
encodeURI() ---decodeURI()
encodeURIComponent() ---decodeURIComponent()
2. eval()方法
eval()方法就像是一个完整的ECMAScript解析器,它只接受一个参数。
eval(alert("hi")); //hi var msg = "hello world"; eval(alert(msg)); //hello world eval("function sayHi(){ alert(' hello world!')}"); sayHi(); //hello world!; eval("var msg1 = 'hello word';"); alert(msg1); //hello world
在eval()中创建的任何变量或函数都不会被提升。
3. window对象
ECMAScript虽然没有指出如何直接访问Global对象,但Web浏览器都是将这个全局对象作为window对象的一部分加以实现的。因此,在全局作用域中声明的所有变量和函数,就都成为了window对象的属性。
(二) Math对象
var num = 8 ; var r = Math.abs(num); //绝对值 r = Math.ceil(3.3); //大于num的一个最小整数 r = Math.LOG2E;//1.44269 alert(r);
1) min() 和 max()方法,确定一组数值中的最大值和最小值,可以接受任意多个数值参数。
var max = Math.max(3,54,19,100,78); alert(max); //100 var min = Math.min(3,54,19,100,78); alert(min); //3
- 找到数组中的最大或最小值,使用apply()方法
var numArray = [3,54,19,100,78]; var max = Math.max.apply(Math,numArray); alert(max); var min = Math.min.apply(Math,numArray); alert(min);
2) 舍入方法
Math.ceil() 向上舍入
Math.floor()向下舍入
Math.round()四舍五入
var num = 29.3; alert(Math.ceil(num)); //30 alert(Math.floor(num));//29 alert(Math.round(29.3));//29 alert(Math.round(29.6));//30
3) random()方法
Math.random()方法返回介于0和1之间一个随机数,不包括0和1。
公式:值 = Math.floor(Math.random()*可能值的总数 + 第一个可能的值),从某个整数范围内随机选择一个值。
- 选择一个1到10之间的数值
var num = Math.floor(Math.random()* 10 + 1);
- 选择一个2到10之间的数值
var num = Math.floor(Math.random()*9+2);
- 选择一个介于a 到 b 之间的数值 (selectFrom()函数 by Yoyo)
function selectFrom(lowerNum , upperNum){ return Math.floor(Math.random()*(upperNum-lowerNum+1)+lowerNum); } var num = selectFrom(1,4); alert(num);
随机从数组中取一项,利用selectFrom()方法
var colors=["yellow","blue","white","black","red","green"]; var color = colors[selectFrom(0,colors.length-1)]; alert(color);