总结
- 所有函数都有一个
prototype属性,默认初始值为‘空’对象 - 可以在原型对象中添加新方法和属性,也可以用自定义对象替换原来原型对象
- 对象自身属性优先级高于其原型对象中的同名属性
hasOwnProperty()方法可以用来区分对象自身属性和原型属性

|
|
proto 与 prototype不等价,proto 为某个对象实例的属性,prototype为构造函数属性
proto 在IE浏览器是不存在的
** Object.getPrototypeOf()获取原型对象,只有在符合ES5标准环境下使用

扩展内建对象
如果想通过原型为某内建对象添加一个新属性,最好先检查该属性是否存在