zoukankan      html  css  js  c++  java
  • js显示原型和隐示原型

     1 <script>
     2         //定义一个构造函数
     3         function Fn() {
     4             //内部自动执行一条语句,增加prototype属性并赋值一个空对象
     5             //this.prototype = {}  这就是显示原型
     6         }
     7         console.log(Fn.prototype); //查看显示原型
     8 
     9         //新建一个实例化对象,在新建对象的时候会默认创建隐示原型属性__proto__
    10         //创建语句就是 this.__proto__ = Fn.prototype,就是把prototype属性赋值给__proto__,所以他们俩是相等的
    11         var fn = new Fn();
    12         console.log(fn.__proto__); //查看隐示原型
    13 
    14         //显示原型和隐示原型的比较
    15         console.log(Fn.prototype === fn.__proto__); //true
    16 
    17         //显示原型一般用于动态的给构造函数增加方法。因为和隐示原型是相等的,所以对象实例也可以查找到增加的方法并直接使用?
    18         Fn.prototype.test = function(){
    19             console.log('test()');
    20         }
    21         //通过隐示原型调用到显示原型增加的方法?
    22         fn.test();
    23 
    24     </script>

    图解:

  • 相关阅读:
    在Unity3D中开发的Hologram Shader
    在Unity3D中开发的Toon Shader
    在Unity3D中开发的Dissolve Shader
    2017.2.26
    2017.2.21
    2017.2.20
    2017.2.19
    2017.2.18
    2017.2.17<转>
    2017.2.16 linux
  • 原文地址:https://www.cnblogs.com/tianakong/p/14173347.html
Copyright © 2011-2022 走看看