ECMAScript对象是JavaScript比较特殊的特性之一。[color=red]JavaScript中一切都是对象(包括函数)[/color]。[color=red]ECMA-262的对象定义:属性的无序集合,每个属性存放一个原始值、对象或函数[/color]。
对象的构成:[color=red]在ECMAScript中,对象由特性(attribute)构成,特性可以是原始值,也可以是引用值[/color]。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作属性(property)。
对象的类型:
本地对象(native object):ECMA-262定义为“[color=red]独立与宿主环境的ECMAScript实现提供的对象[/color]”。它们包括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
内置对象(built-in object):ECMA-262定义为“[color=red]由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现[/color]”。这意味着开发者不必明确实例化内置对象,它已经被实例化了。ECMA-262只定义了两个内置对象:Global和Math(它们也是本地对象,根据定义,每个内置对象都是本地对象)。
Global对象:
[color=red]在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法[/color]。象前面提到的parseInt函数,它其实是Global对象的方法。
Global对象的方法:isNan()、isFinite()、parseInt()、parseFloat()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()、eval()
encodeURI()、encodeURIComponent()的区别:[color=red]encodeURI()方法不对URI中的特殊字符进行编码,如冒号、斜杠、问号、井号,而encodeURIComponent()则对它发现的所有非标准字符进行编码。[/color]
Global对象的属性:undefined、NaN、Infinity以及所有本地对象的构造函数
宿主对象(host object):[color=red]所有非本地对象都是宿主对象[/color]。即由实现ECMAScript的宿主环境提供的对象。[color=red]所有DOM和BOM对象都是宿主对象[/color]。
ECMAScript中只存在一种作用域:公用作用域。[color=red]ECMAScript中的所有对象的所有属性和方法都是共用的[/color]。
对象的构成:[color=red]在ECMAScript中,对象由特性(attribute)构成,特性可以是原始值,也可以是引用值[/color]。如果特性存放的是函数,它将被看作对象的方法(method),否则该特性被看作属性(property)。
对象的类型:
本地对象(native object):ECMA-262定义为“[color=red]独立与宿主环境的ECMAScript实现提供的对象[/color]”。它们包括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
内置对象(built-in object):ECMA-262定义为“[color=red]由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现[/color]”。这意味着开发者不必明确实例化内置对象,它已经被实例化了。ECMA-262只定义了两个内置对象:Global和Math(它们也是本地对象,根据定义,每个内置对象都是本地对象)。
Global对象:
[color=red]在ECMAScript中,不存在独立的函数,所有函数都必须是某个对象的方法[/color]。象前面提到的parseInt函数,它其实是Global对象的方法。
Global对象的方法:isNan()、isFinite()、parseInt()、parseFloat()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()、eval()
encodeURI()、encodeURIComponent()的区别:[color=red]encodeURI()方法不对URI中的特殊字符进行编码,如冒号、斜杠、问号、井号,而encodeURIComponent()则对它发现的所有非标准字符进行编码。[/color]
Global对象的属性:undefined、NaN、Infinity以及所有本地对象的构造函数
宿主对象(host object):[color=red]所有非本地对象都是宿主对象[/color]。即由实现ECMAScript的宿主环境提供的对象。[color=red]所有DOM和BOM对象都是宿主对象[/color]。
ECMAScript中只存在一种作用域:公用作用域。[color=red]ECMAScript中的所有对象的所有属性和方法都是共用的[/color]。