JavaScript中实现块作用域的方法
作者:bea
例如下面这段代码 代码如下: { var temp = "12"; } alert(temp); //输出 12 如果按照通常的编程经验,那么alert函数是不可以访问到temp变量的,因为它在另外一个块中,但是在JavaScript中,却没有块作用域的概念,所以这种语法对JS不起作用,但是我们在写JS程序的时候,尤其是比较大的程序或是程序库,为了防止命名冲突,又需要一种控制变量作用域的机制,所以这里介绍一种比较普遍的方式,来实现块作用域的概念,代码如下:
例如下面这段代码
代码如下:
{
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正是使用的这种方式来实现块作用域的。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
- 初试jQuery EasyUI 使用介绍
- 跟我一起学写jQuery插件开发方法(附完整实例及下载)
- 基于jquery的获取mouse坐标插件的实现代码
- Jquery+JSon 无刷新分页实现代码
- 基于jQuery的消息提示插件之旅 DivAlert(三)
- 基于jQuery的消息提示插件 DivAlert之旅(二)
- 基于jQuery的弹出消息插件 DivAlert之旅(一)
- 基于jquery的tab切换 js原理
- JQuery 选项卡效果(JS与HTML的分离)
- JQuery Tab选项卡效果代码改进版
- JQuery autocomplete 使用手册
- JavaScript 弹出窗体点击按钮返回选择数据的实现
- js 实现打印网页中定义的部分内容的代码
- js prototype截取字符串函数
- javascript getElementsByClassName函数
- JS getStyle获取最终样式函数代码
- Javascript 通过json自动生成Dom的代码
- JS中confirm,alert,prompt函数使用区别分析