1. 背景
javaScript是面向对象的编程语言,有对象,对象具有一定的属性,为使多个对象具有共有属性,存在继承,继承的属性来自于原型。
指向原型的属性:定义一个对象后,浏览器会自动赋予对象一个指向原型的属性,谷歌浏览器为__proto__,火狐浏览器为<prototype>。 object.__proto__===window.Object.prototype
2.概念
原型是一个Object,是由一个构造函数得来的多个实例的可继承的公有属性集合。实例的原型同样具有原型。原型链即为由实例的原型,原型的原型...原型的原型组成的链式结构。 当找到原型为null,说明现在处于原型链的顶端。
3.作用
扩展实例的属性和方法。
4.几种使用方式
(1)对象属性读取方式:先从自有属性读,之后再原型上找,找不到就是null。
(2)新增对象属性:将属性增加到对象本身上。而非原型
(3)修改对象属性:1)对象自身属性 object.name 或object[“name”]
(4)删除对象属性:1)删除自有属性:delete object.name delete object[“name”] delete只能删除自有属性 2)删除继承到的原型属性 (要从原型对象上删除)
注:不能删除全局变量和全局函数(用var定义),可以删除可配置的全局属性(未定义)