< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
ECMAScript v3给所有函数定义了两个方法call()和apply()。使用这两个方法可以像调用其他对象的方法一样调用函数。call()和apply()都是要调用的函数的对象,在函数体内这一参数是关键字this的值。call()的剩余参数是传递给要调用的函数的值。例如,要把两个数字传递给函数f(),并将他作为对象o的方法调用,可以用如下代码:
f.call(o,1,2);
apply()方法和call()方法相似,只不过要传递给函数的参数是由数组指定的。
javascript有对象和类的概念,但是没有内建继承的概念。我们可以通过构造函数来实现类似与内建继承的功能。在构造函数中,设置为this的属性的任何东西随后都可以作为对象的一个成员来使用。构造函数有两个特性:他有new运算符调用;传递给他的是一个对新创建的空对象的引用,将该引用作为关键字this的值,而且他还要对新创建的对象进行适当的初始化。