标签:如何 result 特殊 通过 情况下 方法 turn return func
一、变量的作用域
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。
另一方面,在函数外部自然无法读取函数内的局部变量。
function f1(){
var n=999;
}
alert(n); // error
二、如何从外部读取局部变量?
出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。
那就是在函数的内部,再定义一个函数。(在上面的例子当中,在函数f1外无法访问到变量n的值,如果想要在函数f1外访问到变量n的值,需在函数f1内再定义一个函数f2,那么f2是可以访问到变量n的值的,再将函数f2返回出去,通过这种方法,那么就在函数f1外可以访问到变量n的值了,这里的函数f2就是一个闭包)
function f1(){
n=999;
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
标签:如何 result 特殊 通过 情况下 方法 turn return func
原文地址:https://www.cnblogs.com/liankong/p/9586082.html