一、变量的作用域
另一方面,在函数外部自然无法读取函数内的局部变量。
需要注意,在函数内部声明变量的时候,一定要使用var,如果不用的话,实际上声明了一个全局变量
二、如何从外部读取局部变量
变量的作用域无非就是两种:全局变量和局部变量
js中函数内部可以直接取全局变量。
var t = 1900;
function f() {
alert(t);
}
f(); //1900
另一方面,在函数外部自然无法读取函数内的局部变量。
function f() {
var t = 1900;
}
f();
alert(t); //t is not defined
需要注意,在函数内部声明变量的时候,一定要使用var,如果不用的话,实际上声明了一个全局变量
function f() {
t = 1900;
}
f();
alert(t); //1900
二、如何从外部读取局部变量
如果非要得到函数内函数内的局部变量,正常情况下,是不行的,但可以变通方法实现
在函数的内部 再定义一个函数
function out() {
var t = 1900;
function inner() {
alert(t);
}
inner();
}
out(); //1900
三、Example
function outerFun() {
var a = 0;
alert(a);
}
var a = 4;
outerFun();
alert(a); //0 4
var name = "hello";
function f() {
var name = "world"
}
f();
alert(name); //hello ,内容并没有改变