javascript闭包 var that=this详解

速览

var f1  = function(){    var a = 999;    nAdd = function(){n+=1}    //没有var,nAdd是全局变量    f2 = function(){        alert(a)    }    return f2;}var result = f1();result();    //999nAdd();        //相当于一个setter,可以在函数外部操作函数内部变量的值result();    //1000,f2()被执行了2次

登录后复制

闭包的概念

函数内的函数

闭包的用途

可以读取函数内部的变量
让父函数的变量始终保持在内存中
注意:要想保持父函数的变量值不变,需要把父函数当作对象使用

//父函数作对象var name = 'The Window';var object = {    name : 'The Object',    getName : function(){        return function(){            return this.name        }    }}alert(object.getName()())    //The Window

登录后复制

var that = this;

var _name = 'The Window';var object = {    _name : 'The Object',    //_name 下划线表示私有变量    getName : function(){        var that = this;        return function(){            return that._name;        }    }}alert(object.getName()())    //The Object

登录后复制

that=this / _this=this

学习Javascript闭包(Closure)(阮一峰)

相关推荐:

JavaScript闭包详细介绍

立即学习“Java免费学习笔记(深入)”;

JavaScript闭包实例的简单应用

javascript的闭包是什么?javascript闭包如何使用?

以上就是javascript闭包 var that=this详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2786221.html

(0)
上一篇 2025年3月8日 17:41:21
下一篇 2025年3月8日 17:41:28

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript高仿热血传奇游戏代码分享

    游戏的第一个版本开发于14年,浏览器端使用html+css+js,服务端使用asp+php,通讯采用ajax,数据存储使用access+mysql。不过由于一些问题(当时还不会用node,用asp写复杂的逻辑真的会写吐;当时对canvas写…

    2025年3月8日 编程技术
    200
  • 关于JavaScript正则表达式函数总结

    正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用.这篇文章主要介绍了javascript正则表达式函数总结,需要的朋友可以参考下,希望能帮助到大家。 /* 测试环境:Chrome 63.0.3239.132 */ J…

    编程技术 2025年3月8日
    200
  • js调用json的方法总结

    本文主要给大家详细分析了js调用json方法的总结,对此有需要的朋友可以参考学习下,希望能帮助到大家。 Ajax基础 ajax:无刷新数据读取,读取服务器上的信息 HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeX…

    编程技术 2025年3月8日
    200
  • Nodejs下使用gm圆形裁剪并合成图片

    说到nodejs下的图片处理可能第一想到就是gm,gm底层可以是graphicsmagic(其实也是gm的由来),也可以是imagemagick(其实graphicsmagic本身也是从imagemagic分割而来,现在独立了)。虽然这两个…

    编程技术 2025年3月8日
    200
  • 解析js中0.1 + 0.2 != 0.3

    javascript中数字存储使用的是ieee754 64位双精度浮点数 在计算机中存储为64位1 11 521: 符号位 0正数 1负数11: 指数位 用来确定范围52: 尾数位 用来确定精度转成十进制表示法为 num = (-1)^s …

    2025年3月8日
    200
  • angularjs利用$http异步上传Excel文件方法分享

    本文主要和大家分享angularjs利用$http异步上传excel文件方法,希望能帮助到大家。 1.文件上传框html代码如下 上传文件 登录后复制 *注意: 设置form的enctype属性值为:multipart/form-data …

    编程技术 2025年3月8日
    200
  • JavaScript闭包基础

    什么是闭包?本文主要和大家分享javascript闭包基础,包括javascript闭包定义和用法,希望能帮助到大家。 书上是这样定义闭包的: 有权访问另一个函数作用域中变量的函数。 举一个例子: function test(){ var …

    2025年3月8日
    200
  • js桥接设计模式详解

     桥接设计模式是许多其他设计模式的基础,比如装饰模式, 代理模式都或多或少看到他的影子, 在面向对象设计中最重要的一个特点就是继承, 然而作为拓展类的功能的方式有两种 — 继承和桥接, 桥接用我简单的理解就是放弃使用继承的方式拓…

    编程技术 2025年3月8日
    200
  • Node.JS搭建简易版json服务

    node.js对于追逐全栈开发的小伙伴们自然不陌生。他是建立与chrome v8引擎下的高性能,异步io、事件驱动javascript语言,使编写高性能web服务轻而易举。今天要分享的是一个使用node.js逐步推演建立一个完善的json服…

    2025年3月8日 编程技术
    200
  • 原生JS实现Tab选项卡各种效果

    前一段时间我写了几篇关于css属性的理解和用法方面的文章,今天就不分享css属性了,给大家分享一个我们在实际工作中用到比较多的一个效果——tab选项卡效果。首先,我们先来看看tab选项卡效果是什么样子,以qq新闻为例,有如下效果: 当鼠标滑…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论