javascript - 闭包
时间:2022-04-27
本文章向大家介绍javascript - 闭包,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天群里聊到JS的闭包,说是不理解。我看了下那个PDF的截图上的内容,。。。。我就看了一小会,反正也没看太看懂,写的太玄幻。。
我就觉得这个吧,看不懂闭包,其实也正常。因为看懂了反正一时你也用不上。。看不懂别着急,慢慢的就看懂了。
============
直白点讲,闭包就是函数套函数,
function a(){
var aVal = '123';
function b(){
console.log( aVal );
}
return b;
}
a()(); //123
这,就是一个最简单的闭包了。
b是a的子函数,a函数的所有局部变量,对于b函数都是可见的。
============
如果b函数里定义变量了,a函数就调用不到了,
function a(){
function b(){
var bVal = '456'
}
console.log(bVal);//
}
a() ;//bVal is not defined
看,报错了
============
闭包就是一个函数,它把一些变量包起来。不让它外面的函数访问到,但可以让它里面的子函数访问到。
新手看不懂闭包,一般都是在引用啊,什么这那的,搞三搞四的就晕了。
闭包不多讲了,讲多就晕了。
先理解了啥叫闭包,它的好处啊,坏处啊,网上讲的很多,自己百度一下,我就不打字了。
- 良心推荐:总结 Android 开发中必备的代码 Review 清单
- 强烈推荐:基于Java反射实现一个 Android ORM 框架
- Android 高效安全的本地广播 LocalBroadcast 完全解析
- Android的编译打包流程详解
- Android 仿京东、拼多多商品分类页
- 简单高效的实现 Android App 全局字体替换
- 基于 RxJava2+Retrofit2 精心打造的 Android 基础框架 XSnow
- Android 图片选择到裁剪之步步深坑
- Android自定义 View 实战之 StickerView
- 十分钟搞定酷炫动画,Android自定义 View 入门
- 基础篇章:关于 React Native 之 Switch 和 ProgressBarAndroid 组件的讲解
- Android 实现视屏播放器、边播边缓存功能、外加铲屎(IJKPlayer)
- 基础篇章:关于 React Native 之 ToolbarAndroid 组件的讲解
- Android M 权限最佳实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel 解决crontab不执行的问题
- PHP+Redis开发的书签案例实战详解
- Python持续监听文件变化代码实例
- laravel框架如何设置公共头和公共尾
- PHP结合Redis+MySQL实现冷热数据交换应用案例详解
- 浅谈Laravel模板实体转义带来的坑
- Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
- PHP大文件切割上传功能实例分析
- laravel Task Scheduling(任务调度)在windows下的使用详解
- PHP 7.4中使用预加载的方法详解
- PHP设计模式之工厂模式(Factory)入门与应用详解
- Laravel 实现Controller向blade前台模板赋值的四种方式小结
- Referer原理与图片防盗链实现方法详解
- Laravel 简单实现Ajax滚动加载示例
- PHP设计模式之解释器(Interpreter)模式入门与应用详解