马井堂:解决闭包问题课案.doc

马井堂:解决闭包问题课案

深入理解js闭包 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码   var n=999;   function f1(){     alert(n);   }   f1();?// 999 另一方面,在函数外部自然无法读取函数内的局部变量。 Js代码   function f1(){     var n=999;   }   alert(n);?// error 这里有一个地方需要注意,函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量! Js代码   function f1(){     n=999;   }   f1();   alert(n);?// 999 -------------------------------------------------------------------------------------------------------- 二、如何从外部读取局部变量? 出于种种原因,我们有时候需要得到

文档评论(0)

1亿VIP精品文档

相关文档