zoukankan      html  css  js  c++  java
  • javascript王者归来属性和方法的类型

    JavaScript里,对象的属性和方法支持4种不同的类型,第一种类型就是前面所说的私有类型,它的特点 是对外界完全不具备访问性,要访问它们,只有通过特定的getter和setter。第二种类型是动态的公有类型,它的特点是外界可以访问,而且每个对象 实例持有一个副本,它们之间不会相互影响。第三种类型是静态的公有类型,或者通常叫做原型属性,它的特点是每个对象实例共享唯一副本,对它的改写会相互影 响。第四种类型是类属性,它的特点是作为类型的属性而不是对象实例的属性,在没有构造对象时也能够访问,下面通过例子说明这四种属性类型各自的特点和区 别:

           例21.3 类型的四种属性

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

    <title>Example 21.3</title>

    </head>

    <body>  

    <h1 id="output"></h1>

    <script language="javascript" type="text/javascript"> 

    <!--

           function dwn(s)

           {

                  document.write(s + "<br/>");

           }

           function myClass()

           {

                  var p = 100;  //private property; 私有属性

                  this.x = 10;  //dynamic public property 动态公有属性

           }

           myClass.prototype.y = 20; //static public property or prototype property 原型属性

           myClass.z = 30;  //static property //静态属性

           var a = new myClass();

           dwn(a.p);  //undefined 私有属性对象无法访问到

           dwn(a.x);   //10  公有属性

           dwn(a.y);   //20  公有属性

           a.x = 20;

           a.z = 40;

           dwn(a.x);    //20 

           dwn(a.y);    //40  //动态公有属性y覆盖了原型属性y

           delete(a.x);

           delete(a.y);

           dwn(a.x);    //undefined  动态公有属性x被删除后不存在

           dwn(a.y);    //20  动态公有属性y被删除后还原为原型属性y

           dwn(a.z);    //undefined 类属性无法通过对象访问

           dwn(myClass.z);  //30 类属性应该通过类访问

    -->

    </script> 

    </body>  

    </html>

  • 相关阅读:
    Linux的各个文件夹名称解释(FHS)
    ThinkPHP3.1URL分发BUG修正
    HTTP响应头缓存控制
    Web性能测试工具:http_load安装&使用简介
    无法登陆github官网的解决办法
    次梯度(Subgradient)
    科普帖:深度学习中GPU和显存分析
    关于图像分类的问题
    深度学习中的多尺度模型设计
    Pytorch模型定义的三要
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100587.html
Copyright © 2011-2022 走看看