WEB开发网
开发学院网页设计JavaScript 在JavaScript中实现块作用域的方法 阅读

在JavaScript中实现块作用域的方法

 2010-04-08 00:00:00 来源:WEB开发网   
核心提示:在Javascript中由于没有作用域的概念,所以很容易发生标识符名称的冲突,在JavaScript中实现块作用域的方法,尤其是在比较大的项目中,这类情况更容易发生,例如下面这段代码1{2vartemp="12";3}45alert(temp);//输出12如果按照通常的编程经验,这种方式在一些比较

在Javascript中由于没有作用域的概念,所以很容易发生标识符名称的冲突,尤其是在比较大的项目中,这类情况更容易发生,例如下面这段代码

1 {
2   var temp = "12";
3 }
4 
5 alert(temp);  //输出 12

如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:

1 
2 (function() {
3 
4     var temp = "123";
5     
6 })();
7 
8 alert(temp);  //输出错误

如上面的代码,定义了一个函数表达式,然后马上调用它,这种形式模仿了块作用域的概念,保护了块内的命名空间,这种方式在一些比较大的程序库中很好用

(例如JQuery),有效的避免了命名冲突。事实上JQuery正是使用的这种方式来实现块作用域的。

Tags:JavaScript 实现 作用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接