标签:
一直再说闭包闭包,其实自己一直不懂闭包是个什么意思,今天,上百度找了找闭包的相关资料,参考整理了下,希望以后能用得着;
闭包其实是javascript语言中的一个难点,也是该语言的一个特色,据说很多高级应用都需要闭包的支持;
先理解下下面的几个概念:
1、变量的作用域
javascript中声明变量使用var 关键字,稍微了解的同学都知道,加了var关键字声明的变量是局部变量,反之则为局部变量
例如:
var text = ‘hello‘; 局部变量
text = ‘world‘; 全局变量
局部变量和全局变量一般在哪里应用得最多呢,不言而喻就是函数中;
:
局部变量:
var x = 1;
function demo1(){
alert(x);
}
demo1(); //结果1
function demo1(){
var x = 1;
}
alert(x); //结果error
全局变量:
function demo1(){
x = 1;
}
demo1();
alert(x); //结果 1
总结:声明变量要加var,负责,同学你声明的变量是一个全局变量!
——————————————————————————————————————————————————
2、如何在外部调用or使用一个局部变量
方法很简单,就是在函数内部在定义一个函数; (插几句:个人感觉似乎与php面向对象中的某些处理方法有点相似,简单说,一个类中,用public中使用Protecte的东西)
直接:
function demo1(){
var x = 1;
function demo2(){
alert(x); //结果1
}
}
demo1();
标签:
原文地址:http://www.cnblogs.com/mma5694/p/4764303.html