JavaScript中实现块作用域的方法_javascript技巧
程序员文章站
2022-04-19 13:10:27
...
例如下面这段代码
{
var temp = "12";
}
alert(temp); //输出 12
如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:
(function() {
var temp = "123";
})();
alert(temp); //输出错误
如上面的代码,定义了一个函数表达式,然后马上调用它,这种形式模仿了块作用域的概念,保护了块内的命名空间,这种方式在一些比较大的程序库中很好用
(例如JQuery),有效的避免了命名冲突。事实上JQuery正是使用的这种方式来实现块作用域的。
复制代码 代码如下:
{
var temp = "12";
}
alert(temp); //输出 12
如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:
复制代码 代码如下:
(function() {
var temp = "123";
})();
alert(temp); //输出错误
如上面的代码,定义了一个函数表达式,然后马上调用它,这种形式模仿了块作用域的概念,保护了块内的命名空间,这种方式在一些比较大的程序库中很好用
(例如JQuery),有效的避免了命名冲突。事实上JQuery正是使用的这种方式来实现块作用域的。
上一篇: PHP按行读
下一篇: Python入门学习指南?
推荐阅读
-
解析JavaScript面向对象概念中的Object类型与作用域
-
详解JavaScript实现设计模式中的适配器模式的方法
-
深入理解JavaScript中的块级作用域、私有变量与模块模式
-
javascript中的3种继承实现方法
-
JavaScript实现向select下拉框中添加和删除元素的方法
-
结合代码图文讲解JavaScript中的作用域与作用域链
-
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
-
深入理解Javascript中的作用域链和闭包
-
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
-
使用JavaScript实现node.js中的path.join方法