闭包

全局作用域

var name ="全局变量";
function a(){
console.log(name) 
}

函数作用域

function b{
  var name ="局部变量"; //只能在函数内访问
}

作用域链
作用域链:当访问一个变量时,解释器会首先在当前作用域查找,如果没有找到,就去父级作用域找,直到找到该变量或者不在父作用域中,这就是作用域链,由当前环境与上层环境的一系列变量对象组成,它保证了当前执行环境对符合[访问权限]的变量和函数的有序访问。
闭包:有权访问另一个函数作用域中变量的函数

function c (){
  var name ="闭包";
 function getName(){
  return name
}
return getName;
}
var d =c();
d();

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