作用域整理

 /*作用域最大的用处就是隔离变量,不同作用域下同名变量不会有冲突
   * 除全局作用域之外,每个函数都会创建自己的作用域
   * 作用域在函数定义时就已经确定了。而不是在函数调用时确定
   * 如果要查找一个作用域下的某个变量值,就需要找到这个作用域对应的执行上下文环境,再从其中
   * 找到变量的值
   *
   * 要到创建这个函数的那个作用域中取值--是创建而不是调用
   *
   * 闭包:两种情况:函数作为返回值,函数作为参数传递
   * 当一个函数被调用后,其执行上下文环境将被销毁,其中的变量也会被同时销毁
   * 有些情况  当一个函数被调用后,其执行上下文环境不会被接着销毁,这就是理解闭包的核心内容
   * */
function name(){
    var max=10;
    return function(x){
        this.getname=function(){
            return max
        }
        this.setname=function(name){
            max=name
        }
    }
}
   window.$=name();
(new $()).setname(1000)
   console.log((new $()).getname())

  

原文地址:https://www.cnblogs.com/liuhao-web/p/7154836.html