zoukankan      html  css  js  c++  java
  • 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>
    
  • 相关阅读:
    洛谷 1339 最短路
    洛谷 1330 封锁阳光大学 图论 二分图染色
    洛谷 1262 间谍网络 Tarjan 图论
    洛谷 1373 dp 小a和uim之大逃离 良心题解
    洛谷 1972 莫队
    洛谷 2158 数论 打表 欧拉函数
    洛谷 1414 数论 分解因数 水题
    蒟蒻的省选复习(不如说是noip普及组复习)————连载中
    关于筛法
    关于整数划分的几类问题
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9029399.html
Copyright © 2011-2022 走看看