变量的作用域:
每个函数来定义作用域,函数内部用var来声明的,他们的作用域只在本函数内有用。函数可以用来创造函数作用域。此时的函数像一层半透明的玻璃,在函数里面可以看到外面的变量,而在函数外面无法看到函数里的变量。
我们先来看一个例子,在例子中我们定义了三个函数,分别是funa ,funb,func,在每个函数里我们都用 var独自声明了一个变量,然后进行打印。(代码)
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
varfuna=function(){
vara="sakura";
console.log("I
am "+a);
}
varfunb=function(){
varb="naruto";
console.log("I
am "+b);
}
varfunc=function(){
varc="sasuke";
console.log("I
am "+c);
}
funa();
funb();
func();
|
|
1
2
3
4
5
|
varfunb=function(){
varb="naruto";
console.log("I
am "+b);
console.log(a);
}
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
vara=1;
varfunc1=function(){
varb=2;
varfunc2=function(){
varc=3;
console.log(b);//可以找到
console.log(a);//可以找到
}
func2();
//下面的c是找不到的。
console.log(c);
}
func1();
|
简单的闭包函数
|
1
2
3
4
5
6
7
8
9
10
11
12
|
var func=function(){
vara=1;
returnfunction(){
a++;
console.log(a);
}
};
varf=func();
f();
f();
f();
|
本文深入探讨JavaScript中的闭包概念,通过实例讲解变量作用域、函数内部变量访问规则,并展示如何利用闭包特性实现变量计数器。
781

被折叠的 条评论
为什么被折叠?



