这里使用了Animal的apply方法,把Animal的执行环境改成Lion被调用时的执行环境。 这里要解释一下,我们要想使用Lion这个“类”,通常需要new一个Lion。如: var l = new Lion(); 而new关键字是十分伟大的,在上段代码中,new关键字完成了以下几项工作: 1)开辟堆空间,以准备存储Lion对象 2)修改Lion对象本身的执行环境,使得Lion函数的this指向了Lion函数对象本身。 3)调用Lion“类”的“构造函数”,创建Lion对象 4)将Lion函数对象的堆地址赋值给变量l,这个时候l就指向了这个Lion函数对象 所以经过new关键字以后Animal.apply(this, ["狮子"])中的this已经指向了Lion函数对象本身了,所