今日头条 焦点资讯 营销之道 企业报道 淘宝运营 网站建设 软件开发 400电话
  当前位置: 首页 » 资讯 » 软件开发 » 正文

javascript闭包 var that=this详解

放大字体  缩小字体 发布日期:2018-02-23  来源:企业800网  作者:新格网  浏览次数:766  【去百度看看】
核心提示:可以读取函数内部的变量 让父函数的变量始终保持在内存中 注意:要想保持父函数的变量值不变,需要把父函数当作对象使用
速览

var f1  = function(){
    var a = 999;
    nAdd = function(){n+=1}    //没有var,nAdd是全局变量
    f2 = function(){
        alert(a)
    }
    return f2;
}
var result = f1();
result();    //999
nAdd();        //相当于一个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闭包详细介绍

Javascript闭包实例的简单应用

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

以上就是javascript闭包 var that=this详解的详细内容,更多请关注php中文网其它相关文章!

 
关键词: javascript,this,that
 
[ 资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 违规举报 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
网站首页 | 关于我们 | 联系方式 | 使用协议 | 版权隐私 | 网站地图 | 排名推广 | 广告服务 | 积分换礼 | 网站留言 | RSS订阅 | 吉ICP备11001726号-6
企业800网 · 提供技术支持