zoukankan      html  css  js  c++  java
  • js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态)

    js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态)

    一、总结

    1、js函数中的private和publicjs函数中的私有变量 var 变量名,公有变量 this.变量名

    2、js静态私有变量将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态

    3、js静态私有变量的作用js中的static:解决变量静态的问题,就是java中static的作用

    4、js中的get和set方法:也就是js中一般对象的定义方法

     1     function People(_name){
     2       var name=_name; //私有,外部无法访问
     3       this.getName=function(){ //公有,外部可以访问
     4         return name
     5       }
     6 
     7       this.setName=function(value){ //set函数
     8         name=value
     9       }
    10 
    11     }
    12 
    13     var p1=new People('张三');
    14     alert(p1.getName())
    15 
    16     p1.setName('李四')
    17     alert(p1.getName())

    二、js静态私有变量

    静态私有变量

    通过块级作用域(私有作用域)中定义私有变量或函数,创建对外公共的特权方法;

    • 首先创建私有作用域
    • 定义私有变量或函数
    • 定义构造函数和特权方法
    • 这种方式创建的私有变量因为使用原型而实现共享。
    • 同时由于共享,实例也就没有自己的私有变量

    三、代码

      1 <!DOCTYPE html>
      2 <html lang="zh-cn">
      3 <head>
      4   <meta charset="utf-8">
      5   <title>课堂演示</title>
      6 </head>
      7 <body>
      8   <script>
      9   /*
     10   //通过构造方法传参来访问私有变量
     11     function People(_name){
     12       var name=_name;
     13       this.getName=function(){
     14         return name
     15       }
     16 
     17       this.setName=function(value){
     18         name=value
     19       }
     20 
     21     }
     22 
     23     var p1=new People('张三');
     24     alert(p1.getName())
     25 
     26     p1.setName('李四')
     27     alert(p1.getName())
     28   */
     29 
     30   (function(){
     31     var name='张三';
     32     User=function(){} //构造函数
     33     User.prototype.getName=function(){
     34         return name
     35       }
     36     User.prototype.setName=function(value){
     37         name=value
     38       };
     39   })()
     40 
     41   var VIP1=new User() //因为Uer()是私有函数,所以外部无法访问。
     42   //alert(VIP1.getName())
     43   VIP1.setName('李四')
     44   //alert(VIP1.getName())
     45 
     46   var VIP2=new User()
     47   alert(VIP2.getName()) //结果是李四
     48   </script>
     49 </body>
     50 </html>
    
  • 相关阅读:
    添加要素后弹出属性窗口
    预览ArcGIS 10中有关编辑的变化
    【制图】ArcGIS10制图新特性
    arcgis 设置掩膜Mask图层
    ArcGIS 10研究(五)Desktop之制图表达和图、表
    【制图】ArcGIS10制图新特性
    ESRI ArcGis10版本的优缺点(转)
    TCP超时重传、滑动窗口、拥塞控制、快重传和快恢复
    进程关闭解决IIS无响应假死状态
    android开源项目旅游记录
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9030845.html
Copyright © 2011-2022 走看看