加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

JS闭包常见形式详解

发布时间:2022-06-08 15:49:43 所属栏目:搜索优化 来源:互联网
导读:本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下 作用域链: //作用域链 var a = 1; function test() { var b =2; return a; } alert(test());//弹出1; alert(b);//不能获取b //scop
  本文通过实例代码给大家详细介绍了js闭包的几种常见形式,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
 
  作用域链:
 
  //作用域链
 
    var a = 1;
 
    function test() {
 
      var b =2;
 
      return a;
 
    }
 
    alert(test());//弹出1;
 
    alert(b);//不能获取b
 
  //scope chain
 
    var a = 1;
 
    function test() {
 
      var b = 2;
 
      function test1() {
 
        var c = 3;
 
        alert(a);
 
        alert(b);
 
        alert(c);
 
      }
 
      test1();
 
    }
 
    test();//弹出1,弹出2,弹出3;
 
  词法作用域:
 
  //词法作用域;
 
    function f1() {
 
      var a = 12;
 
      return f2();
 
    }
 
    function f2() {
 
      return a;
 
    }
 
    alert(f1());//并不能获取a,a在f2()中并未定义;
 
  function f1() {
 
      var a = 1;
 
      return f2();
 
    }
 
    function f2() {
 
      var b = 3;
 
      alert(b);
 
      return a;
 
    }
 
    alert(f1());//弹出3,a在f2()中未定义
 
  function f1() {
 
      var a = 1;
 
      return f2();
 
    }
 
    function f2() {
 
      var b = 3;
 
      alert(b);
 
      return a;
 
    }
 
    alert(f1());//弹出3,a在f2()中未定义,undefined
 
    var a=55;
 
    alert(f1());//弹出3,弹出55
 
  如何通过闭包突破全局作用域链——几种常见形式
 
  //通过闭包突破全局作用域链
 
    function f() {
 
      var a = "sun";
 
      return function () {
 
        return a;
 
      }
 
    }
 
    var test = f();
 
    alert(test());//弹出sun
 
  var n;
 
  function f() {
 
    var a = "sun";
 
    n = function () {
 
      return a;
 
    }
 
  }
 
  f();
 
  alert(n());//弹出sun
 
    function f(param) {
 
      var n =function () {
 
        return param;
 
      };
 
      param++;
 
      return n;
 
    }
 
    var test = f(45);
 
    alert(test());//弹出46;
 
  以上就是JS闭包常见形式详解的详细内容。
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读