3.2.4 早绑定和晚绑定
所谓绑定,即把对象的接口与对象实例结合在一起的方法。
早绑定:是指在实例化对象之前定义它的特性和方法,这样编译器或解释程序就能提前转换机器代码,在java和visual basic 这样的语言中,有了早绑定,就可以在开发环境中使用IntelliSense。ECMAScript不是强类型语言,索引不支持早绑定。
晚绑定:指的是编译器或解释程序在运行前,不知道对象的类型,使用晚绑定,无需检查对象的类型,只需要检查对象是否支持特性和方法即可。ECMAScript中的所有变量都采用晚绑定方法,这样就允许执行大量的对象操作,而无任何惩罚。
3.3 对象类型
3.3.1 本地对象
定义:独立于宿主环境的ECMAScript实现提供的对象,简单说来,本地对象就是ECMA-262定义的类(引用类型)
Array,Date等15个对象都是属于本地对象。
3.3.2 内置对象
定义:由ECMAScript实现提供的,独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现,这意味着开发者不必明确实例化内置对象,它已被实例化,ECMA-262只定义了两个内置对象,即Global和Math.(他妈也是本地对象,每个内置对象都是本地对象)。
1.Global对象
常用方法:isNaN(),isFinite(),parseInt(),parseFloat().
重点方法: encodeURI,encodeURIComponent,decodeURI,decodeURIComponent,escape,unescape.eval(具体请参考第70 页)
3.3.3 宿主对象
定义:所有非本地对象都是宿主对象,即由ECMAScript实现的宿主环境提供的对象,所有BOM和DOM对象都是宿主对象。