• js私有变量


    js私有变量

    一、总结

    1、在js函数中定义 this.name='张三'; (函数的属性)外部是可以访问的,但是 var name='张三'; (函数的私有变量),这样定义的话外部没有办法访问

    2、js中的变量和方法:方法就是在变量后面加上()

    3、函数性公用 变量私有:JavaScript没用私有属性的概念;所有的属性都是公用的; 但是js中有私有变量的概念

    4、函数的外部访问:外部实例化一个对象,然后对象.属性或者方法就可以访问了  var p=new People() alert(p.getname())

    5、特权方法(就是以定义属性的方法去定义私有变量,因为属性外部是可以访问的,这个定义属性的方法在函数内部可以访问函数的私有变量):内部创建一个闭包,闭包可以访问私有变量;因此创建用于访问私有变量的公用方法,称作特权方法  this.getsay=function(){ return say() }

    二、js私有变量

    私有变量

    JavaScript没用私有属性的概念;所有的属性都是公用的;

    私有变量的概念:在任何函数中定义的变量,都是私有变量,因为不能在函数外部访问这些变量;

    • 私有变量:包括函数的参数/局部变量和在函数内部定义的其他函数;
    • 特权方法:内部创建一个闭包,闭包可以访问私有变量;因此创建用于访问私有变量的公用方法,称作特权方法
    • 可以通过构造方法传参来访问私有变量

      这种方法的缺点是会为每一个实例创建一组新的方法,不能实现共享。

    三、代码

      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   function sum(){
     11     var m=100;
     12   }
     13   alert(m) // 会报错,私有变量(局部变量),外部无法访问;
     14 
     15   function People(){
     16       this.name='张三';//外部可以访问,因为是属性,this定义的就是属性
     17       this.age='30';
     18       this.say=function (){
     19         return '我是'+this.name+'......';
     20       }
     21   }
     22 */
     23 
     24   function People(){
     25       var name='张三'; // 私有变量; 外部无法访问
     26       var age='30';
     27       function say(){  // 私有函数;
     28         return '我是......';
     29       }
     30 
     31       this.getname=function(){ // 对外公共的特权方法; 外部可以访问
     32         return name;
     33       }
     34 
     35       this.getsay=function(){
     36         return say()
     37       }
     38   }
     39   var p=new People()
     40   alert(p.getname())
     41   alert(p.getsay())
     42   // alert(age)
     43   // alert(say())
     44   </script>
     45 </body>
     46 </html>
    
  • 相关阅读:
    CopyOnWriteArrayList设计思路与源码分析
    点击页面按钮以excel保存到本地
    上传图片
    关于重复点击的
    去首尾空格还有换行问题//把数字换位大写字母//向后台传输数据
    判断输入的时间与当前的时间(判断时间是今天还是以前的)
    前端的一些小技巧
    git 操作大全
    移动web开发常见问题解决方案
    响应式布局
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9029399.html
Copyright © 2020-2023  润新知