Object 对象自身用处不大,不过在了解其他类之前,还是应该了解它。因为 ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似,ECMAScript 中的所有对象都由这个对象继承而来,Object 对象中的所有属性和方法都会出现在其他对象中,所以理解了 Object 对象,就可以更好地理解其他对象。
Object 对象具有下列属性:
constructor:对创建对象的函数的引用(指针)。对于 Object 对象,该指针指向原始的 Object() 函数
用法: a.constructor != b : 即 对象a的引用不是b
prototype:对该对象的对象原型的引用。对于所有的对象,它默认返回 Object 对象的一个实例
用法: var amin = function (){...}
amin.prototype.start = function (){...}
var test = new amin();
test.start();
Object 对象还具有几个方法:
hasOwnProperty(property): 判断对象是否有某个特定的属性。必须用字符串指定该属性,无法检查该对象的原型链中是否具有该属性
用法:o.hasOwnProperty("name"); //判断方法o是否含有name属性。
isPrototypeOf(object): 判断该对象是否为另一个对象的原型
用法:obj1.isPrototypeOf(obj2); // obj1是否被包含在obj2的原型链中,例:
var array1 = [];
var array2 = [];
Array.prototype.say = 'hello' ;
Array.prototype.isPrototypeOf(array1) ; // 为true
array1. isPrototypeOf(array2); // 为false
propertyIsEnumerable():该值指示指定属性是否为对象的一部分以及该属性是否是可枚举的。
用法: var o = {'name': '张三'};
o.propertyIsEmumerable('name'); // 为true
toString(): 返回对象的原始字符串表示。对于 Object 对象,ECMA-262 没有定义这个值,所以不同的 ECMAScript 实现具有不同的值。
用法: obj.toString();
valueOf(): 返回最适合该对象的原始值。对于许多对象,该方法返回的值都与 ToString() 的返回值相同
用法:obj.valueOf();