ECMA-262只定义了2个内置对象:Globel和Math
1、Global对象
表示全局变量,但该对象其实并不存在,
事实上,并不存在全局变量和全局函数:所有在全局作用于定义的变量和函数,都是Global对象的属性和方法
注意:在ECMAScript中不怎么调用Global对象,所以,其属性或方法是无效的
Global对象内置的属性和方法:
(1)URI编码方法
a、encodeURI/encodeURIComponent
该方法可对链接进行编码,以便于发送给浏览器。
var box='//Lee 李'; alert(encodeURI(box)); //只编码了中文; alert(encodeURIComponent(box)); //特殊字符和中文编码;
注意——encodeURIComponent()编码更彻底,但encodeURIComponent()使用频率更高
b、解码decodeURI/decodeURIComponent
(2)eval()方法
担当解析器的方法
eval('var box=100');
alert(box);
eval('function box(){return 123}');
(3)Global对象属性
Global对象包含一些属性:undefined、NaN、Object、Array、Function
alert(Array); //返回构造函数;
(4)window对象
Global没有办法直接访问,而Web浏览器可以使用window对象来实现一个全局访问
alert(window.Array);
2、Math对象
(1)Math对象的属性
Math E——自然对数的底数,即常量e的值
Math LN 10——以10为底的对数
Math.PI——圆周率的值3.1415925...
(2)Math对象的方法
a、求最大值、最小值:max()、min()
b、四舍五入:ceil()——向上取整(均整数+1)
floor()——把小数点去掉
round()——标准的四舍五入
(3)Math的随机数random()方法
random()——求随机数,返回0和1之间的随机数,不包括0和1
若想大于这个范围的话,可套用公式:值=Math.floor(Math.random()*总数+第一个数)
范围=总数+第一个数-1
案例1——产生简单的随机数:
for(var i=0;i<10;i++){
document.write(Math.random());
}
案例2——产生1-10的随机数
alert(Math.floor(Math.random()*10+1));
案例3——产生5-14的随机数
若产生两个数之间的随机数,用一个函数表示
function select(start,end){
var total=end-start+1;
return Math.floor(Math.random()*total+start);
}
for(var i=0;i<10;i++){
document.write(select(1,3)); //范围5-10
document.write('<br />');
}