javascript中模仿块级作用域
2024-09-01 08:43:27
学过 javascript 的都知道 javascript 里面没有块级作用域的概念,这就意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的,看下面的例子:
function outPutNumber(count) {
for(var i = 0; i < count; i ++) {
alert(i);
}
alert(i); //计数
}
上面的函数中定义了一个 for 循环,而变量 i 的初始值被设置为0。在 java、c++等语言中,变量 i 只在 for 循环中定义和使用,当 for 循环结束后 变量 i 就被销毁了,但是在 javascript 中,变量实际上实在函数 outPutNumber 中定义的,所以当 for 循环结束后 i 变量还存在,因此从变量 i 定义开始,就可以在函数内部随处访问它。
如果我们想临时使用一些变量,在使用后便把变量销毁掉,我们可以使用匿名函数来模仿java、c++等语言中的块级作用域,看下面的例子:
function outPutNumber(count) {
(function() {
for(var i = 0; i < count; i ++) {
alert(i);
}
})();
alert(i); //这里会提示 i is not defined
}
最新文章
- Android保持屏幕常亮的方法
- Linux(CentOS)下安装git
- Mac OS X 10.9 Mavericks安装后,Xcode调试时模拟器黑屏的处理方法
- sqlServer 存储过程执行遇到的问题及解决方案
- VS2010远程调试
- 5ci
- Linq to SQL -- Join
- hadoop的hdfs中的javaAPI操作
- android_双击退出
- BTrace使用简介
- python windows环境下安装
- 【一】、搭建Hadoop环境----本地、伪分布式
- 静态HTML总结
- 两个docker容器互连时,提示no route to host错误的问题
- Install OpenCV-Python in Ubuntu
- 树莓派进阶之路 (020) - 基于24位AD转换模块HX711的重量称量实验
- 面向对象OO第15次作业总结
- PHP常用必备函数
- 【C/C++】Linux C,关于刷新printf输出问题
- python -c 处理shell字符串
热门文章
- 使用HashOperations操作redis
- js中迭代元素特性与DOM中的DocumentFragment类型 笔记
- ArcGIS API for javascript中搜索框的使用问题
- 关于debian配置的问题汇总
- ArcGis融合小多边形到相邻多边形
- Shiro 的 HelloWorld
- [LOJ #2538][PKUWC 2018]Slay the Spire
- Splunk学习与实践
- [学习笔记]可持久化数据结构——数组、并查集、平衡树、Trie树
- Ubuntu使用vim编辑器时出现上下左右键变成ABCD