`

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
分享到:
评论

相关推荐

    JS脚本静态变量调用方法2

    在JavaScript,特别是Unity3D环境中,静态变量是一种特殊类型的变量,它不属于任何特定的对象实例,而是属于类本身。这意味着所有该类的实例都可以共享这个变量的值,即使没有创建对象,也可以直接通过类名访问。在...

    JAVAStatic静态变量.doc

    Java中的`static`关键字是用来声明静态变量或静态方法的,它是面向对象编程中非常关键的一个概念。静态变量属于类,而不是类的实例,这意味着它们在内存中只有一份拷贝,所有的类实例共享这个相同的变量。当我们声明...

    JavaScript变量

    JavaScript中的变量类型可以分为两大类:值类型和引用类型。 - **值类型**(基本类型): - 占用的空间大小固定,保存在栈中。 - 保存与复制的是值本身。 - 使用`typeof`检测数据类型。 - **引用类型**(复合...

    JavaScript面向对象之私有静态变量实例分析

    下面的代码展示了如何在JavaScript中实现私有静态变量: ```javascript var JSClass = (function() { // 私有静态变量 var privateStaticVariable = "私有静态变量"; // 私有静态方法 var ...

    (js)静态与非静态方法

    在JavaScript中,静态方法与非静态方法是面向对象编程中的两个基本概念,它们在类的定义和实例化过程中扮演着重要角色。理解这两者之间的区别对于编写高效、可维护的代码至关重要。 ### 静态方法 #### 定义 静态...

    JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析

    - 在示例中,有两种情况: - 单个实例的方法:如`instance1.add`,是为特定实例添加的方法,每个实例都有自己的副本,不推荐,因为会浪费内存。 - 所有实例的共享方法:如`BaseClass`构造函数中的`this.add`,...

    纯JavaScript静态树型

    在本例中,代码考虑了Netscape Navigator 4和Internet Explorer 4两种浏览器的兼容性问题。 #### 三、代码解析 1. **初始化DOM元素** - 使用`document.layers`和`document.all`来获取页面上的所有层元素和div...

    Unity3D中JavaScript与C#对比

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

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

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

    javascript基础

    尽管名称相似,JavaScript与Java是两种完全不同的编程语言。主要区别如下: - **语法结构**:尽管两者在语法上有一定的相似性,但是JavaScript更加灵活,是一种弱类型语言,而Java是一种强类型语言。 - **运行环境*...

    基于javascript实现动态时钟效果

    首先,需要了解JavaScript是一种高级的、解释型的编程语言,广泛应用于网页设计中,让静态的页面具备动态的效果。在实现动态时钟效果时,JavaScript中的Date对象是必不可少的,它提供了获取和操作日期和时间的方法。...

    JavaScript.中文学习文档

    - JavaScript 和 Java 在名称上有相似之处,但它们实际上是两种完全不同的编程语言。 - Java 是一种静态类型的面向对象编程语言,通常需要编译成字节码后在 Java 虚拟机 (JVM) 上运行。 - JavaScript 是一种解释...

    webpack 静态资源集中输出的方法示例

    Webpack是一种流行的前端构建工具,它可以帮助开发者自动化处理开发过程中的各种任务,如模块打包、编译、压缩等...掌握webpack静态资源集中输出的方法,可以帮助我们更好地管理项目中的资源,提高开发效率和项目质量。

    JavaScript中的私有/静态属性介绍

    接着,我们讨论如何在JavaScript中实现私有属性。私有属性通常是为了防止外部代码直接访问或修改对象的内部状态。这里提到了两种方法: 1. **实例私有属性**:每个对象都有其独立的私有属性,不与其他对象共享。这...

    经典的javascript网页特效代码 javascript特效

    JavaScript是一种广泛应用于网页开发的脚本语言,它赋予网页动态性,使得网页不仅仅是一堆静态信息,而是可以与用户交互、展示各种炫酷效果的媒介。在这个“经典的javascript网页特效代码”压缩包中,可能包含了多种...

    JavaScript教程--从入门到精通(PPT精简版)

    * 在 HTML 文档中,两种编程语言的标识不同,JavaScript 使用 <Script>...</Script> 来标识,Java 使用 <applet>...</applet> 来标识。 九、静态联编和动态联编 * Java 采用静态联编,即 Java 的对象引用必须在...

    静态页面的传值

    2. **HTML5的`localStorage`或`sessionStorage`**:这两种Web存储API允许在浏览器中保存键值对数据。当用户在不同页面之间跳转时,数据可以被持久化保留。`localStorage`的数据在关闭浏览器后仍然存在,而`...

    Unity3D脚本:JS脚本中访问某一类中的成员变量1

    在Unity3D中,JavaScript(也称为UnityScript)是一种用于编写游戏逻辑和交互的脚本语言。本篇文章将深入探讨如何在Unity3D的JS脚本中访问其他类的成员变量,这对于游戏开发中的对象间通信至关重要。我们将通过实例...

    JavaScript基础知识总结

    尽管名字相似,但 JavaScript 和 Java 是两种不同的编程语言。Java 是一种更为复杂、强大的编程语言,而 JavaScript 则是一种轻量级的脚本语言,主要用于网页的交互功能。JavaScript 可以在所有主流浏览器上运行,...

Global site tag (gtag.js) - Google Analytics