javascript_利用闭包模仿块级作用域

 

(function(){

//这里就是块级作用域

})();

块级作用域
        //无论在什么地方,只要临时需要一些变量,就可以使用块级作用域
function outputNumbers(count) {
(
function() { for (var i = 0; i < count; i++) {alert(i);} }
)();

alert(i); //error
}
outputNumbers(3);

这种技术经常在全局作用域中被用在函数外部,从而限制向全局作用域中添加过多的变量和函数。

过多的全局变量和函数很容易导致命名冲突。而通过创建私有作用域,每个开发人员既可以使用自己的变量,又不必担心搞乱全局作用域

例子
(function(){
var now=new Date();
if(now.getMonth()==0&&now.getDate()==1){
alert("Happy new year");
}
})();

把上面这段代码放在全局作用域中,可以用来确定哪一天是1月1日;如果到了这一天,就会向用户显示一条祝贺新年的消息。其中的变量now现在是匿名函数中的局部变量,而我们不必在全局作用域中创建他

posted @ 2012-03-23 12:18  cqclassic  阅读(309)  评论(0编辑  收藏  举报