理解js中的闭包
来源:互联网 发布:mac mini 外加散热器 编辑:程序博客网 时间:2024/03/28 18:27
一、变量的作用域
变量的作用域无非就是两种:全局变量和局部变量。
javacript语言的特殊之处,就在于函数内部可以直接读取全局变量。
js代码:
变量的作用域无非就是两种:全局变量和局部变量。
javacript语言的特殊之处,就在于函数内部可以直接读取全局变量。
js代码:
var n = 9;function f1() {alert(n);}window.onload = f1(); //弹出窗口显示9另一方面,在函数外部自然无法读取函数内的局部变量。
js代码:
function f1() {var n = 9;}alert(n); //ReferenceError: n is not defined
这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,实际上声明了一个全局变量?//去掉var后还是相同结果
js代码:
function f1(){ n = 9; } f1(); alert(n); //弹出个窗口显示9--------------------------------------------------------------------------------------------------------
二、如何从外部读取局部变部变量?
出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。
那就是在函数的内部,再定义一个函数。
js代码:
function f1() {n = 9;function f2() {alert(n);//没有弹出窗口,访问不了?}}window.onload = f1();在上面的代码中,函数f2就被包括在函数f1内部,这时f1内部的所有局部变量,对f2都是可见的
0 0
- 理解js中的闭包
- 理解js中的闭包
- 理解js中的闭包
- 理解js中的闭包
- 深入理解js中的闭包
- js中的闭包之我理解
- js中的闭包之我理解
- js中的闭包之我理解
- js中的闭包之我理解
- js中的闭包之我理解
- js中的闭包之我理解
- js中的闭包之我理解
- 彻底理解js中的闭包
- 理解js闭包
- JS 闭包理解
- js闭包理解
- js闭包理解
- js闭包理解
- 多重采样(MultiSample)下的FBO反锯齿
- Delphi中对TRichEdit控件的每一行设置不同的颜色
- Spring : OpenSessionInViewFilter 的配置及替代方案
- Lib USB 在vc6.0下的应用
- HDU - 1226 超级密码
- 理解js中的闭包
- C++ 程序员必读书目清单
- 奇异值分解SVD,矩阵范数,函数矩阵
- monkey 测试工具
- ios静态库制作中的注意事项
- Fragment的代码优化
- mysql date_format
- Android input keyevent
- 获取系统时间的各种格式。。