javascript闭包

官方定义:(w3school里的定义,http://www.w3school.com.cn/js/pro_js_functions_closures.asp)

闭包,指的是词法表示包括不被计算的变量的函数,也就是说,函数可以使用函数之外定义的变量。


通过下面两段代码对比一下就知道:

【PHP的代码】:

$str = 'helle JS';
function show(){
   echo $str;
}
show();

执行后出现错误提示:Notice: Undefined variable: str

【JS代码】

<script>
var str = 'helle JS';
function show(){
  alert(str);
}
show();
 </script>

浏览器执行成功

通过以上对比说明js中的函数可以调用函数外的变量,这种特性就是闭包,闭包不仅是一个函数,是函数及其关联变量的统一体

你可能感兴趣的:(闭包)