模仿块级作用域

来源:互联网 发布:贵州轩通大数据怎么样 编辑:程序博客网 时间:2024/06/05 14:40
块级作用域的意义在于将代码的可访问性限定在某个代码段中,屏蔽对外部的影响。JS中由于没有传统的块级作用域,所以只好用匿名函数来构造闭包来实现。
var variable=(function(){})();
function(){}外部的括号表明这是一个函数表达式,后面的()表示立即执行。
第二个括号的含义不难理解:
var Fn=function(){  //定义一个函数
   somecode;
};
Fn();               //调用它
但如果直接写:
   function(){
   somecode;
}()
会报错,因为JS把function关键字作为函数声明的开始,而函数声明后不能直接加括号,这是语法决定的。
所以function(){}用括号括起来转换为函数表达式,就构成了立即调用的匿名函数,由于外部无法直接访问到它里面的变量,故构成了一个块级作用域。
原创粉丝点击