`
hbc8848
  • 浏览: 17012 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Javascript 的函数式对象(六)利用闭包模拟静态常量

阅读更多

 

js的闭包特性,还可用来模拟java中的final静态常量,

 

这些常量在定义时被赋值,可被外部访问,但不能被修改。

 

 

// 这个Constant类用来保存应用中的所有final静态常量
var Constant = (function(){
	//不可被外部访问的闭包私有静态变量
	var constants = {
		VERSION: 7.5
	};
	
	//构造函数
	var constructor = function(){};
	
	//可被外部访问,也可访问闭包内私有静态变量的方法
	constructor.getConstants = function(name){
		return constants[name];
	};
	
	return constructor;	
})();

//访问Constant闭包中的静态常量
Constant.getConstants('VERSION'); // return 7.5

 

 

上述“final静态常量”,是借用面向对象语言的概念,有助理解。

 

当Constant被设为null后,闭包内的变量仍将被回收。

 

 

 

1
1
分享到:
评论

相关推荐

    理解javascript函数式编程中的闭包(closure)_.docx

    理解javascript函数式编程中的闭包(closure)_.docx

    深度探讨javascript函数的原型链和闭包

    深度探讨javascript函数的原型链和闭包

    JavaScript函数式编程

    JavaScript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、...

    理解javascript函数式编程中的闭包(closure)

    主要帮助大家理解javascript函数式编程中的闭包(closure)概念,通俗地讲, JavaScript 中每个的函数都是一个闭包,感兴趣的小伙伴们可以参考一下

    javaScript函数式编程

    全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多...

    javaScript 利用闭包模拟对象的私有属性

    JavaScript缺少块级作用域,没有private修饰符,但它具有函数作用域。作用域的好处是内部函数可以访问它们的外部函数的参数和变量(除了this和argument

    JavaScript闭包函数

    闭包是ECMAScript (JavaScript)最强大的特性之一,但用好闭包的前提是必须理解闭包。闭包的创建相对容易,人们甚至会在不经意间创建闭包,但这些无意创建的闭包却存在潜在的危害,尤其是在比较常见的浏览器环境下...

    JavaScript碎片—函数闭包(模拟面向对象)

    具体来说实现模拟面向对象主要是利用JavaScript函数闭包这个概念。由于JavaScript中的每一个function都会形成一个作用域,而如果变量声明在这个域中,那么外部是无法直接去访问,要想访问必须new出一个实例来,相当...

    JavaScript核心(对象、原型、继承、上下文、闭包、this).pdf

    面向对象概念(对象封装,各种继承,闭包原理,this作用域等)介绍清晰易懂

    JS匿名函数、闭包

    匿名函数,也称为拉姆达函数,是一种使用JavaScript...JavaScript中的匿名函数和闭包都是非常有用的特性,利用它们可以实现很多功能。不过,因为创建闭包必须维护额外的作用域,所以过度使用它们可能会占用大量内存。

    javascript笔记之匿名函数和闭包.docx

    javascript笔记之匿名函数和闭包.docx

    【JavaScript源代码】详解JavaScript闭包问题.docx

    通过将闭包视为核心语言构件的组成部分,JavaScript语言展示了其与函数式编程语言的紧密联系。由于能够简化复杂的操作,闭包在主流JavaScript库以及高水平产品代码中日益流行起来。 一、变量的作用域 在介绍闭包...

    深入理解javascript原型和闭包

    深入理解javascript原型和闭包(01)——一切都是对象 深入理解javascript原型和闭包(02)——函数和对象的关系

    尚硅谷——JavaScript闭包

    JavaScript闭包 JavaScript闭包 JavaScript闭包 JavaScript闭包

    JavaScript闭包

    Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包 对于那些使用传统静态语言C/C++的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点 ...

    理解_JavaScript_闭包

    本文结合 ECMA 262 规范详解了闭包的内部工作机制,让 JavaScript 编程人员对闭包的理解从“嵌套的函数”深入到“标识符解析、执行环境和作用域链”等等 JavaScript 对象背后的运行机制当中,真正领会到闭包的实质。

Global site tag (gtag.js) - Google Analytics