首页 > 代码库 > js prototype
js prototype
prototype 原型。
我们每创建一个函数 都会创建一个 prototype的属性,这个属性指向了这个函数的原型对象。
function A(){} ,A.prototype ,prototype原型只能运用在对象上,不能运用在对象的实例上 也就是说
A.prototype 是可以的 var a=new A(), a.prototype 是不可以的。
所有对象的实例共享原型对象。什么意思如下:
function A(){}
A.prototype.Name="张三";//为原型对象加一个Name的属性。
var a=new A(); alert(a.Name) // 张三
var a1=new A(); alert(a1.Name)//张三
js 执行过程 a.Name 先找 A有没有 Name属性,如果没有就去原型对象里找,
当 A有Name属性的时候就会屏蔽原型对象里的Name 属性(这里是屏蔽不是删除)。
如上:
var a=new A(); a.Name="李四";//这是给对象a添加一个Name属性,并不是修改了原型对象的Name的属性值。
alert(a.Name) //李四
var a1=new A(); alert(a1.Name)//张三
当删除了 a.Name (delete a.Name) 属性,再调用 a.Name 又会去原型对象里找到 “张三”。
在js中对象是区分大小的。如上: a.name //undefine
在实例中 有个_proto_属性就是指向原型对象的,但是这个属性无法显示调用。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。