> JS提供的2个 内置对象
## 一、global
任何对象的属性和方法都是global下的,但是global无法直接使用,任何调用都是无效的。
web浏览器用window代替global实现。
global的方法
### 1.URI()方法
UTF-8方式替换所有无效字符
编码:
a. encodeURI 不会对特殊字符编码
b. encodeURIComponent 会对任何非标准字符编码,编码更加彻底,使用频率更高
~~~
var box='//tianwei!~';
encodeURIComponent(box);
~~~
解码:
c. decodeURI
d. decodeURIComponent
### 2. eval()方法
直接把字符串中的JS变为可执行的代码。经常用来拼装JS代码和传递过来的值
~~~
eval('var box = function(){alert('this is a function');}');
box();
~~~
3. global的属性
NaN,Object,Number,Array,function等都是global的属性
~~~
//无法global.Object,但可以用替代的window.Object
alert(Object);
~~~
## 二、math
### 1.Math属性
![](https://box.kancloud.cn/d496b70d448aa97df29690c7015764c2_679x164.png)
![](https://box.kancloud.cn/b4f707b5272810d6c94d071a2b6f4687_655x193.png)
### 2.math方法
#### a. min()和max()方法
~~~
Math.min(2,5,7,5,9); //2
~~~
#### b.舍入方法:
Math.ceil()//向上舍入
Math.floor() //向下舍入
Math.round() //四舍五入
~~~
Math.round(25.5); //26
~~~
#### c.random()方法,取0-1之间的随机值
公式:值=Math.floor(Math.random()*(最大值-最小值+1)+最小值); //最大值和最小值之间的数
~~~
for(var i=0;i<10;i++){
document.write(Math.random()*6+5); //5-10之间的随机数 10-5+1=6
document.write('<br>');
}
~~~
![](https://box.kancloud.cn/2cdb4ba69dbe34f31d5e14521373dc71_680x507.png)