`

javascript 中静态变量的两种实现方法

 
阅读更多
  小结下在javascript中关于如何实现静态变量的两个方法,以最简单的计数器来说明:

1)
 
function getCounter() {
  if (this.c === undefined)
    this.c = 0;
 
  this.c++;
  return this.c;
}


  这个方法虽然简单,但如果需要的静态变量很多,需要很多if去判断,不大好


2) 用闭包
  
function giveMeAFunction() {
  var counter = 0;
   
  return function() {
      counter++;
      return counter;
    };
}


  调用:
var myCounter = giveMeAFunction();

//显示1
myCounter();

// 显示2
myCounter();

0
7
分享到:
评论

相关推荐

    学习java静态数据初始化.doc

    在 Java 中有两种类型的变量:实例变量和静态变量。实例变量是在实例创建时被初始化的,而静态变量是在类加载时被初始化的。静态变量可以被所有实例共享,而实例变量每个实例都有自己的副本。 在 Java 中,静态变量...

    Unity3D中JavaScript与C#对比

    以下是老外对 Unity3D 中这两种语言进行的一个整体有效的对比。 变量声明方面,JavaScript 是一种弱类型语言,不需要像 C#一样,必须声明变量或方法类型。在编译时,JavaScript 会选择最合适的类型给予定义。例如,...

    javascript 使用手册

     第三,两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译...

    java变量和javascript变量之间的传递示例

    它们是两种完全不同的语言,变量不能直接进行交换,但是通过一定的方式,变量可以传递。 java变量传递给javascript变量,这个比较简单,就是平时的普通方法就好: 代码如下: var cnt = <%=number%>; 注意别漏...

    Web前端框架应用:第7章 Vue开发环境-静态资源管理.pptx

    而Vue CLI 3.x中,提供了public目录来代替static目录,对于静态资源的处理有如下两种方式。 经过webpack处理:在JavaScript被导入或在template/CSS中通过相对路径被引用的资源 不经过webpack处理:存放在public目录...

    javafinal和static总结.docx

    static 关键字在 Java 中用于修饰变量和方法,表示静态变量和静态方法。 1. 静态变量 静态变量是属于类的变量,而不是实例变量,静态变量只有一份拷贝,是所有实例共享的。 例如: `public static int ...

    java静态代码块与非静态代码块.doc

    静态方法是 Java 中的一种特殊的方法,它是静态的,意思是说它是属于类的,而不是属于对象的。静态方法可以在不创建对象的情况下被调用,它们通常用于提供一些公共的功能。 静态方法和静态代码块的区别是,静态方法...

    深化理解javascript作用域其次篇之词法作用域和动态作用域_.docx

    深化理解javascript作用域其次篇之词法作用域和动态作用域_ ...词法作用域和动态作用域是javascript中两种重要的作用域机制。理解它们的概念、特征和应用是编写高效、可维护的javascript代码的关键。

    2010年 c语言入门到精通

    也可以这样分:自动变量,静态变量.前者是按变量作用范围来分的,而后者是按变量存储方式来分的.  如果按存储占用空间来分,可以是整型变量,字符型变量,浮点型变量等.当然还有数组,结构体变量等.  C语言还有一个重要...

    javascript中作用域以及作用域链

    变量无非就是两种:全局变量和局部变量。 Javascript语言中,函数内部可以直接读取全局变量,在函数外部无法直接读取函数内的局部变量。 程序设计中作用域的概念: 通常来说,一段程序代码中所用到的名字并不总是...

    Java程序设计试题1及答案.doc

    Java 中的抽象类是一种特殊的类,不能实例化,用于定义一些通用的方法和变量。 在 Java 中,异常处理是指在程序执行过程中出现异常时的处理机制。Java 中的异常可以分为两类:编译时异常和运行时异常。编译时异常...

    JAVA填空题标准标准答案-(103题).docx

    2. 一个类如果实现一个接口,那么它需要实现接口中的全部方法,否则该类就必须定义为抽象类。 答案:方法‖抽象类 知识点:接口、抽象类、方法实现。 3. 下列程序实现从控制台输入并读取输出字符串。 答案:...

    java面试宝典

    33、静态变量和实例变量的区别? 11 34、是否可以从一个static 方法内部发出对非static 方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点...

    JAVA填空题标准答案-(103题).docx

    知识点:在Java中,一个类可以实现多个接口,每个接口定义了一组方法,该类必须实现接口中的所有方法。如果该类不能实现所有方法,那么它必须定义为抽象类。 3. 以下程序实现从控制台输入并读取输出字符串。请将...

    JAVA毕业实习日志.doc

    Java是一种静态类型语言,而JavaScript是一种动态类型语言。Java是编译型语言,而JavaScript是解释型语言。 9. .NET基础知识 .NET是微软推出的一个软件框架,包括C#、ASP.NET、ADO.NET等。C#是一种静态类型语言,...

    千方百计笔试题大全

    33、静态变量和实例变量的区别? 11 34、是否可以从一个static 方法内部发出对非static 方法的调用? 11 35、写clone()方法时,通常都有一行代码,是什么? 11 36、GC 是什么? 为什么要有GC? 11 37、垃圾回收的优点...

    java-打印.docx

    + 类的访问控制只有 public(公共类)及无修饰符(缺省类)两种 + 访问权限符与访问能力之间的关系如表所示 * 类成员的访问控制: + 公有(public):"可以被其他任何对象访问(前提是对类成员所在的类有访问权限...

    史上最强JavaScript日历控件正式版(无偿的永久的提供给大家免费使用,含全部源代码)

    系统提供了$dp.$D和$dp.$DV这两个API来辅助你进行日期运算,此外你还可以通过在 #F{} 中填入你自定义的脚本,做任何你想做的日期限制 三、自定义事件和丰富的API库 如果你需要做一些附加的操作,你也不必担心,日期...

    前端大厂最新面试题-es6.docx

    * 解构是ES6中的一种语法糖,用于简化变量赋值。 * 数组解构可以用于交换变量的值。 * 对象解构可以用于简化对象的赋值。 模板字面量 * 模板字面量是一种新的字符串语法,使用反引号(`)来标记。 * 模板字面量...

    javascript 面向对象全新理练之数据的封装

    今天主要讨论如何在 JavaScript 脚本中实现数据的封装(encapsulation)。数据封装说的简单点就是把不希望调用者看见的内容隐藏起来。它是面向对象程序设计的三要素之首,其它两个是继承和多态,关于它们的内容在...

Global site tag (gtag.js) - Google Analytics