javaScript学习笔记之-------闭包

提到闭包,就不能不提的---变量做用域

变量做用域:全局变量和局部变量闭包

js语言自己的独特之处:就是能够在函数内部读取使用全局变量

那么问题来了,,如何在函数外部使用函数内部命名的变量   函数

杀手锏----闭包this

举例说明:

知识点:this指的是全局 spa

 
 var age= "19";
   var object = {     age: "9",     getAgeFunc : function(){       return function(){         return this.age;       };     }   };   alert(object.getAgeFunc ()());//19
 

附上差别点:code

 

其实二者的主要区别就是区别就是第一个程序在执行完第一段()的时候把里面的做用域scope抛弃了,而第二个程序在执行完第一段()的时候把里面的做用域scope赋给一个变量一并返回获得了暂存状态,因此执行二段()的时候,

第一个程序因为抛弃了因此this直接指向window,第二个程序的this.指的天然是那个变量

 

知识点:  this  指的是object对象对象

    var age = "19";
    var object = { age : "9", getAgeFunc : function(){ var that = this; return function(){ return that.age ; }; } }; alert(object.getAgeFunc()());//9

 

之前以为尤为困难的闭包,,理解后是这么可爱

blog

相关文章
相关标签/搜索