document.write('

解析: prototype :prototype 的行为类似于 C++ 中的静态域,将一个属性添加为 prototype 的属性,这个属性将被该类型创建的所有实例所共享,但是这种共 享是只读的。在任何一个实例中只能够用自己的同名属性覆盖这个属性,而不 能够改变它。换句话说,对象在读取某个属性时,总是先检查自身域的属性 表,如果有这个属性,则会返回这个属性,否则就去读取 prototype 域,返回 protoype 域上的属性。另外,JavaScript 允许 protoype 域引用任何类型的对象。

因此,如果对 protoype 域的读取依然没有找到这个属性,则 JavaScript 将递归地 查找 prototype 域所指向对象的 prototype 域,直到这个对象的 prototype 域为它 本身或者出现循环为止。

constructor :即构造函数,在对象创建或者实例化时被调用的方法。通常使 用该方法来初始化数据成员和所需资源。构造器 constructor 不能被继承,因此 不能重写 overriding,但可以被重载overloading。对象的 constructor 属性返回创 建该对象的函数的引用。

this :在 JavaScript 中,this 通常指向的是正在执行的函数本身,或者是指 向该函数所属的对象(运行时)。当我们在页面中定义函数 doSomething() 时, 它的 owner 是页面,或者是 JavaScript 中的 window 对象(或 global 对象)。对 于一个 onclick 属性,则为它所属的 HTML 元素所拥有,this 应该指向该 HTML 元素。 argument :所有的函数都有属于自己的一个 arguments 对象,它包括了函 数所要调用的参数。它不是一个数组,如果用 typeof arguments,那么返回的是 object。虽然我们可以用调用数据的方法来调用 arguments。比如 length、index 方法。但是数组的 push 和 pop 对象是不适用的。

');