JS闭包的几种常见形式实例详解

发布时间 - 2026-01-11 03:16:39    点击率:

作用域链:

//作用域链
  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闭包的几种常见形式 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


# js  # 闭包常见形式  # 闭包  # 通俗易懂地解释JS中的闭包  # JS继承与闭包及JS实现继承的三种方式  # 浅谈JavaScript作用域和闭包  # JS实现闭包中的沙箱模式示例  # JavaScript闭包的简单应用  # 通过示例彻底搞懂js闭包  # JavaScript闭包和回调详解  # 浅谈JS封闭函数、闭包、内置对象  # JavaScript闭包_动力节点Java学院整理  # 深入理解Javascript中的作用域链和闭包  # JS闭包可被利用的常见场景小结  # 利用js的闭包原理做对象封装及调用方法  # javascript闭包功能与用法实例分析  # JavaScript中闭包的详解  # JS闭包用法实例分析  # 图解Javascript——作用域、作用域链、闭包  # 轻松理解JavaScript闭包  # js中的闭包学习心得  # 弹出  # 几种  # 小编  # 中未  # 给大家  # 并不能  # 所述  # 给我留言  # 有任何  # alert  # return  # test  # chain  # scope  # class  # pre  # strong  # brush  # function  # var 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  PHP 500报错的快速解决方法  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Swift中switch语句区间和元组模式匹配  高端企业智能建站程序:SEO优化与响应式模板定制开发  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  使用spring连接及操作mongodb3.0实例  深圳网站制作培训,深圳哪些招聘网站比较好?  原生JS实现图片轮播切换效果  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何使用Eloquent进行子查询  个人摄影网站制作流程,摄影爱好者都去什么网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  jQuery中的100个技巧汇总  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  bootstrap日历插件datetimepicker使用方法  如何做网站制作流程,*游戏网站怎么搭建?  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  如何在万网主机上快速搭建网站?  JavaScript模板引擎Template.js使用详解  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  制作旅游网站html,怎样注册旅游网站?  Python文件操作最佳实践_稳定性说明【指导】  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel如何处理文件下载请求?(Response示例)  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  googleplay官方入口在哪里_Google Play官方商店快速入口指南  android nfc常用标签读取总结  浅析上传头像示例及其注意事项  浅谈javascript alert和confirm的美化  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何制作一个表白网站视频,关于勇敢表白的小标题?  什么是javascript作用域_全局和局部作用域有什么区别?  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  长沙企业网站制作哪家好,长沙水业集团官方网站?  网站制作报价单模板图片,小松挖机官方网站报价?  网站页面设计需要考虑到这些问题  JavaScript如何实现错误处理_try...catch如何捕获异常?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel中的Facade(门面)到底是什么原理