JavaScript原生提供Object对象,其他所有对象都继承自Object对象,都是Object的实例。Object对象的原生方法分成两类:Object本身的方法与Object的实例方法。
Object对象本身的方法,也称为静态方法,就是直接定义在Object对象的方法。例如:
Object.print = function (o) { console.log(o) };
在上面代码中,print方法就是直接定义在Object对象上。
Object的实例方法,就是定义在Object原型对象Object.prototype上的方法。它可以被Object实例直接使用。例如:
Object.prototype.print = function () { console.log(this); }; var obj = new Object(); obj.print() // Object
在上面代码中,Object.prototype定义了一个print方法,然后生成一个Object的实例obj。obj直接继承了Object.prototype的属性和方法,可以直接使用obj.print调用print方法。也就是说,obj对象的print方法实质上就是调用Object.prototype.print方法。
关于原型对象object.prototype的详细解释,请参考下一章内容。这里只要知道,凡是定义在Object.prototype对象上面的属性和方法,将被所有实例对象共享。
以下先介绍Object作为函数的用法,然后再介绍Object对象的原生方法,包括静态方法和实例方法两部分。