首页 > Web开发 > 详细

关于js匿名函数以及闭包的学习(一)

时间:2015-03-25 06:42:58      阅读:152      评论:0      收藏:0      [点我收藏+]

关于网上的一个例子一直是一直半解,直到上次和同事讨论之后才明白;

var name = "The Window";   
  var object = {   
    name : "My Object",   
    getNameFunc : function(){   
      return function(){   
        return this.name;   
     };   
    }   
};   
alert(object.getNameFunc()());  

此例子涉及到闭包,但是对我最大的困扰确实匿名函数的调用.匿名函数默认的调用都是window对象,这个是很多人都不知道的问题.像上一个例子 输出为"The Window" ,默认的调用就是window对象,this就是widow ,

如果调用写为  alert(object.getNameFunc()().call({name:"test Name"});  则输出的结果为:test Name ,这个就比较直观了.


闭包问题最主要的是作用域链的问题,区分作用域,就不难理解了,但是闭包最大的问题就是占用内存,所有的函数及变量都储存在内存中,这点是一劣势.


自己的一些学习笔记,有点乱了!....  下次好好编辑一下

关于js匿名函数以及闭包的学习(一)

原文:http://ample.blog.51cto.com/3936501/1623923

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!