分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

js闭包

发布时间:2023-09-06 02:13责任编辑:郭大石关键词:js闭包

一、变量的作用域

Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。

另一方面,在函数外部自然无法读取函数内的局部变量。

  function f1(){
    var n=999;
  }

  alert(n); // error

二、如何从外部读取局部变量?

出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。

那就是在函数的内部,再定义一个函数。(在上面的例子当中,在函数f1外无法访问到变量n的值,如果想要在函数f1外访问到变量n的值,需在函数f1内再定义一个函数f2,那么f2是可以访问到变量n的值的,再将函数f2返回出去,通过这种方法,那么就在函数f1外可以访问到变量n的值了,这里的函数f2就是一个闭包)

 

 function f1(){

    n=999;

    function f2(){
      alert(n);
    }

    return f2;

  }

  var result=f1();

  result(); // 999

js闭包

原文地址:https://www.cnblogs.com/liankong/p/9586082.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved