Object
Object类型是所有它的实例的基础,Object类型的每个实例都具有其原型上的属性和方法
属性
constructor:保存了创建此对象的构造函数
var test = {};
test.constructor // ƒ Object() { [native code] }
var test = 1;
test.constructor // ƒ Number() { [native code] }
var test = "";
test.constructor // ƒ String() { [native code] }
var test = true;
test.constructor // ƒ Boolean() { [native code] }
var test = [1,2,3];
test.constructor // ƒ Array() { [native code] }
var test = function(){};
test.constructor // ƒ Function() { [native code] }
//如果test为null和undefined,test.constructor会报错,看来null和undefined并不是从Object派生而来
方法
hasOwnProperty(name):检查当前实例中是否包含名称为name的属性,name是字符串变量
isPrototypeOf(obj):检查传入的实例是否在存在于某个对象的原型链上
propertyIsEnumerable(name):检查名称为那么的属性是否能被for…in循环枚举
toLocaleString():返回与执行环境地区对应的对象的字符串表示(应该是多用于时间对象)
toString():返回对象的字符串表示
valueOf():返回对象的字符串、数字、布尔值表示 (原文说通常和toString()方法返回的值相同,感觉区别挺大)
这些属性和方法都定义在Object.prototype对象上,而Object.prototype也是一个对象,它也是由Object()构造函数实例化的