Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__
语法:Object.create(proto, [propertiesObject])
propertiesObject:没有指定为undefined,否则为添加到新创建对象的可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性)对象的属性描述符以及相应的属性名称
Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)
Object.getPrototypeOf(object)
注释:返回创建这个对象的构造函数的原型对象,或者通过create()创建该对象时候传入的对象
toString() 方法返回一个表示该对象的字符串
语法:object.toString()
注释:每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用
hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性 语法:obj.hasOwnProperty(prop) 注释:检测一个对象是否含有特定的自身属性,和 in 运算符不同,该方法会忽略掉那些从原型链上继承到的属性
typeof null 为object的解释 在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。 对象的类型标签是 0。由于 null 代表的是空指针(大多数平台下值为 0x00), 因此,null的类型标签也成为了 0,typeof null就错误的返回了"object"