闭包精细版

把里面的函数保存到外部
在这里插入图片描述

例子1:

在这里插入图片描述在这里插入图片描述
注:除了return,只要让里面的函数保存到外部就可以产生闭包。

例子2 闭包累加

普通累加:
在这里插入图片描述
不依赖于外部变量累加,
一个独立的功能不依赖于这个体系之外的东西.

在这里插入图片描述

例子3 return一个对象

这两个函数写到obj对象里面和外面是一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

例子4 开发常犯的闭包错误

在这里插入图片描述
onclik,是给对象加的属性,把函数保存到了li身上。总的来说,把里面的函数保存到了外部
在这里插入图片描述
在这里插入图片描述
解决:立即执行函数
在这里插入图片描述

例子5 字符编码

在这里插入图片描述
target.charCodeAt(i) -->target第 i 位字符的编码
在这里插入图片描述
或者
在这里插入图片描述

例子6 逗号计算符

把后面的表达式计算结果返回
在这里插入图片描述
在这里插入图片描述
PS:typeof f 不加括号不算错
在这里插入图片描述
在这里插入图片描述

例子7 —if

在这里插入图片描述
在这里插入图片描述
if括号添加的是条件,把里面的东西变成表达式。
所以,它就不是函数定义了,从此之后 f 就消失了。

typeof未经声明都会返回undefined(字符串类型),1+ undefined --> NAN

猜你喜欢

转载自blog.csdn.net/weixin_45179978/article/details/94753179