单体内置对象
- ECMAScript对内置对象的定义是:“由ECMAScript实现提供的、不依赖宿主环境的对象”
- 除了前面介绍的大多数内置对象,例如Object、Array和String。
- ECMA-262还定义了两个单体内置对象:Global和Math。
Global对象
- ECMAScript中的Global对象在某种意义上是作为一个终极的“兜底儿对象”
- 没有全局变量或全局函数;所有在全局作用域中定义的属性和函数,都是Global对象的属性。
- 比如isNaN()isFinite()、parseInt()以及parseFloat()
- Global对象的encodeURI()和encodeURIComponent()方法可以对URI(Uniform Resource Indentifiers,通用资源标识符)进行编码,以便发送给浏览器。
- 与这两个方法对象的两个方法分别是decodeURI()和decodeURIComponent()。其中,decodeURI()只能对使用encodeURI()替换的字符进行解码。
var uri="file:///G:/js%E9%AB%98%E7%A8%8B/instanceof%E7%94%A8%E6%B3%95.html";
console.log(getURI('decodeURI',uri));
function getURI(info,uri){
switch(typeof(uri)){
case'string':
return get(info);
break;
default:
throw new Error("请传入有效uri参数");
break;
};
function get(info){
switch(info){
case'encodeURI':
return encodeURI(uri);
break;
case'decodeURI':
return decodeURI(uri);
break;
default:
break;
};
}
}
- eval()方法。
它只接受一个参数,即要执行的ECMAScript(或JavaScript)字符串。 - 当解析器发现代码中调用eval()方法时,它会将传入的参数当作实际的ECMAScript语句来解析,然后把执行结果插入到原位置。
- ECMAScript 5明确禁止给undefined、NaN和Infinity赋值
- ECMAScript 虽然没有指出如何直接访问Global对象,但Web浏览器都是将这个全局对象作为window对象的一部分加以实现的。