原型:在js语言中 所有的引用数据都有一个原型对象 通过 _proto_属性来引用
只要是引用数据,他就有一些相同的功能 点语法 添加新的成员 访问成员 .tostring()
总结:关于原型
所有对象都有原型对象 __proto__ :通过这个 __proto__ 属性可以访问它的原型对象
所有函数都有原型属性 prototype:通过 prototype可以知道以后哪个对象使用这个构造函数创造出来的
访问与修改
1、访问一个对象成员,先在自己这一个空间中访问 如果没有这个成员,就它的原型空间中访问,如果原型对象上也没有 就去原型的原型空间中访问 直到最顶层null 都没有这个成员 就直接返回undefined
2、修改
2.1、如果要给一个对象添加成员
它自己有这个成员 就是修改自己
他自己没有这个成员 ,但是原型链上有这个成员,就会给自己添加一个新成员,不会操作原型链
他自己没有这个成员 ,但是原型链上有这个成员,只要不是修改原型链上的成员引用 随便改