JavaScript单体内置对象——Global对象

单体内置对象

单体内置对象的定义:由 ECMAScript 实现提供的、不依赖于宿主环境的对象,这些对象在 ESMAScript 程序执行之前就已经存在了。
像我们常见的 Object 、Array 和 String 都是内置对象,另外还有 Global 和 Math 。


Global 对象

1. URI 编码方法

Global 对象的 encodeURI ( ) 和 encodeURIComponent ( ) 方法可以对 URL 进行编码。他们用特殊的 UTF-8 编码替换所有的无效字符。其中前者主要用于对整个 URI 编码,而后者主要用于对 URI 中的一段进行编码。他们的主要区别是:encodeURI ( ) 不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问号和井号;而 encodeURIComponent ( ) 则会对它发现的所有非标准字符进行编码。

var uri = "https://blog.csdn.net/talon zhang"
// https://blog.csdn.net/talon%20zhang
alert(encodeURI(uri)) 
// https%3A%2F%2Fblog.csdn.net%2Ftalon%20zhang
alert(encodeURIComponent(uri))

与这两个方法相对应的分别是 decodeURI ( ) 和 decodeURIComponent ( )

var encodedURI = encodeURI(uri)
alert(decodeURIComponent(encodedURI))

2. eval ( ) 方法

该方法就像一个完整的 ECMAScript 解析器,它只接收一个参数,即要执行的 ECMAScript 字符串。例如

eval("alert('hi')")
// 等价于
alert('hi')

当解析器发现代码调用 eval ( ) 时,会将传入的参数当做实际的 ECMAScript 语句来解析,然后把执行结果插入原位置。被执行的代码具有与该执行环境相同的作用域链。

3. window 对象

ECMAScript 虽然没有指出如何直接访问 Global 对象,但 Web 浏览器都是将这个全局对象作为 window 对象的一部分来实现的。因此在全局作用域中声明的所有变量和函数,都成了 window 对象的属性。但 JS 中的 window 对象除了扮演 ES 中的 Global 对象的角色之外,还承担了很多其他的任务。


你可能感兴趣的:(前端,JavaScript,JavaScript,单体内置对象,JS内置对象,Global对象)