您的位置:首页 > 其它

11模仿块级作用域

2014-07-23 16:31 148 查看
模仿块级作用域
1.在js中,变量i是定义在outputNum的活动对象里的,因此从他有定义开始,就可以在函数内部随处访问
function outputNum(count){
for(var i=0;i<count;i++){
alert(i);
}
alert(i);
}

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

function outputNumbers(count){
(function(){
for(var i=0;i<count;i++){
alert(i);
}
})();
alert(i);
}
outputNumbers(5);
在匿名函数中定义的任何变量都会在执行结束的时候被销毁,因此,i只能在循环中使用。
这种技术经常在全局作用域中被用在函数外部,从而限制向全局作用域中添加过多的变量和函数,
(function(){
var now = new Date();
if(now.getMonth() =="6" && now.getDate() =="23"){
alert("happy new year");
}
})();

这段代码在全局作用域中可以判断哪天是1.1,其中now是匿名函数的局部变量,而我们不必再全局作用域创建它

这种做法可以减少闭包占用的内存问题,因为没有指向匿名函数的引用。只要函数执行完毕,就可以立即销毁其作用域链
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: