博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javaScript学习笔记之-------闭包
阅读量:6626 次
发布时间:2019-06-25

本文共 780 字,大约阅读时间需要 2 分钟。

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

变量作用域:全局变量和局部变量

js语言本身的独特之处:就是可以在函数内部读取使用全局变量

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

杀手锏----闭包

举例说明:

知识点:this指的是全局 

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

附上差异点:

 

其实两者的主要区别就是区别就是第一个程序在执行完第一段()的时候把里面的作用域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

 

以前觉得尤其困难的闭包,,理解后是这么可爱

 

转载于:https://www.cnblogs.com/donglt-5211/p/10307973.html

你可能感兴趣的文章
实例讲解Linux下的makefile
查看>>
json lib 2.4及其依赖包下载
查看>>
计算机中文核心期刊
查看>>
【BZOJ】3832: [Poi2014]Rally
查看>>
[转]看懂ExtJS的API
查看>>
推荐15款制作 SVG 动画的 JavaScript 库
查看>>
转:CEO, CFO, CIO, CTO, CSO是什么
查看>>
andriod自定义视图
查看>>
linux下vim更改注释颜色
查看>>
在SSL / https下托管SignalR
查看>>
Using JRuby with Maven
查看>>
Netty了解与小试
查看>>
醒醒吧少年,只用Cucumber不能帮助你BDD
查看>>
一名女程序员对iOS的想法
查看>>
西班牙现新型电费退款网络诈骗 侨胞需谨防上当
查看>>
Spring Websocket实现文本、图片、声音、文件下载及推送、接收及显示(集群模式)...
查看>>
最严新规发布 网络短视频平台该如何降低违规风险? ...
查看>>
云服务器ECS出现速度变慢 以及突然断开怎么办?
查看>>
208亿背后的“秘密”
查看>>
Android系统自带样式(android:theme)解析
查看>>