JS如何设置私有域

JavaScript 2012-08-01 JavaScript,私有域

JS跟Java、C++最重要的一点就是没有没有块级作用域的概念,如下示例:

function kuai(num){
	for(var i=0; i<num; i++){}	
	alert(i);
}

kuai(5);

结果:

JS私有域

for循环结束后,i的变量可以在块外访问,如果在Java或者C++中,for结束后i变量会被销毁。那如果我们想要JS中也能实现此效果使用匿名函数即可。

function kuai(num){
	(function(){
	 	for(var i=0; i<num; i++){}
	})();
	
	alert(i);
}

kuai(5);

结果:

JS私有域

我们发现使用了匿名函数以后,匿名函数外就不能再访问i变量了,这样就达到私有域的效果。

以上用到的语法:

(function(){
    // 这里是私有域
})();

这是一个定义匿名函数的常用方式,将函数声明包含在一堆圆括号中,表示它实际上是一个函数表达式。而紧随其后的另一对圆括号会立即调用这个函数。

私有域的在程序中很有用,因为把一切变量都在全局里设置会消耗很大的内存,影响程序效率。而且私有域的设置可以在多人开发中避免变量名冲突,每个开发人员可以随心所欲使用自己定义的变量名,又不必担心与全局作用域的变量名冲突。

文字链接:《JS如何设置私有域

文章地址:http://www.qttc.net/201208155.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 1