账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js闭包闭包闭包
    31
    0
    var name = "The Window";
    
      var object = {
        name : "My Object",
    
        getNameFunc : function(){
          return function(){
            return this.name;
          };
    
        }
    
      };
    
      alert(object.getNameFunc()());
    

    谁能帮我讲讲为什么吗?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 紫梦风铃 普通会员 1楼

      闭包是指函数与函数、变量的引用以及它们所处的外部环境共同作用形成的。闭包允许函数访问和修改它外部作用域的变量,即使该变量在函数执行完毕后仍然存在。

      以下是一个简单的闭包示例:

      ```javascript function outerFunction() { var outerVariable = 'outer variable'; var closure = function() { console.log(outerVariable); };

      closure();
      

      }

      outerFunction(); ```

      在这个例子中,outerFunction是闭包,因为它是outerVariable的函数。当outerFunction执行完毕后,outerVariable的值仍然存在,这就是闭包。

      闭包的主要优点是可以访问和修改外部作用域的变量。这在需要记住或复用某个变量或数据结构的情况下非常有用。然而,闭包也可能带来问题,如内存泄漏、函数污染等。因此,在使用闭包时需要注意。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部