
内置对象: 由ECMAScript提供的、不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了。
不必由开发人员显式地实例化内置对象
比如: Object Array String Global Math
1.Global 对象
所有在全局作用域中定义的属性和函数,都是Global对象的属性
(1)URI 编码方法
(2)eval() 方法 像是一个完整的ECMAScript 解析器,只接收一个参数,即要执行的ECMAScript(或JavaScript)字符串
eval() 执行的代码被认为是包含该次调用的执行环境的一部分,因而被执行的代码具有与该执行环境相同的作用域链
意味着可以引用包含在环境内定义的变量
如:
var msg = "hello world";
eval("alert(msg)"); //hello world
eval("function sayHi() { alert('hi'); }");
sayHi()
显然sayHi()是在eval()内部定义的,但是对eval()的调用最终会被替换为定义函数的实际代码
因此可以在下一行调用;对于变量也一样
!! 不会发生变量提升,只在eval()执行时创建
(3)window对象
ECMAScript虽然没用指出如何访问Global对象,但Web浏览器都是将这个全局对象作为window对象的一部分加以实现的,因此,在全局作用域中声明的所有变量和函数,就都成了window对象的属性
另一种取得Global对象的方法
var global = function() {
return this;
}();
在没给函数明确指定this值的情况下,this值等于Global对象
2.Math 对象
Math.ceil() 向上舍入 取整
Math.floor()向下舍入 取整
Math.round()标准舍入
Math.random() 返回大于等于0小于1的一个随机数