zoukankan      html  css  js  c++  java
  • 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_属性就是指向原型对象的,但是这个属性无法显示调用。

  • 相关阅读:
    一、操作m'y's'ql
    十三、并发
    十二、异步_实践
    一、数据
    【2019-08-13】琐碎事才是突破
    【2019-08-12】迟到好过没到
    【2019-08-11】别人约我宵夜,我却约人早茶
    【2019-08-10】习惯跟时间有关
    【2019-08-09】一日之计在于晨
    【2019-08-08】少即是多,慢即是快
  • 原文地址:https://www.cnblogs.com/startlearn/p/3694913.html
Copyright © 2011-2022 走看看