闭包

  前言

c86d033c81ebf167d7c867ceef62f983.png

 我是歌谣 最好的种树是十年前 其次是现在 今天继续给大家带来的是闭包的讲解

  环境配置

707a561aaaf696b107bbedac6667a7f4.png

npm init -y
yarn add vite -D

 修改page.json配置端口

83c12261c598a53001496f00c0cacfb2.png

{
"name": "demo1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "vite --port 3002"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"vite": "^4.4.9"
}
}

 案例1

139e506e2c0cf3aedd1a8e3c43701405.png

function test1(){
function test2(){
var b=2;
console.log(a)
}
var a=1;
return test2()
}
var c=3
var test3=test1();

分析

3c8fd842ec33ad0bf2f6e1ec729d714c.png

d6589d1a9294e97dd70165c37579515a.png

23f75f4a7c573696e44f00efede0b529.png

1e184f84a7ffc44f122cbf0476d2858c.png

a2f3d1ada87ef58ae8cfbf798aa962ba.png

78296e617549d347d518e710a279eaa5.png

案例2

91f4df0bf1fdfe726e26fb47b51e75b3.png

function test(){
var n=100
function add(){
n++
console.log(n)
}
function reduce(){
n--
console.log(n)
}
return [add,reduce]
}
var arr=test()
arr[0]()
arr[1]()

 运行结果

11f15dfff96417c3ed1205902318bb7a.png

8fcf7395242fd1b42e559058a8d98d71.png

 案例2

986a91158c10cc7c6d048a2264750442.png

function breadMsg(num) {
var breadNum = arguments[0] || 10
function supply() {
breadNum += 10
console.log(breadNum)
}
function sale() {
breadNum -= 10
console.log(breadNum)
}
return [supply, sale]
}
var breadMsg = breadMsg(50)
breadMsg[0](10)

 运行结果

3e48e4b875eb7578e7a351d845ebc9ad.png

edfc1c3c402384eaa2fe07eb51206d82.png

 案列3

4695f5e7a5f51e25c9a3be1e3b997288.png

function sunSched(){
var sunSched=''
var opration={
setSched:function(thing){
sunSched=thing
},
showSched:function(){
console.log("MY schedule on sunday is "+sunSched)
}
}
return opration
}
var sunSch=sunSched()
sunSch.setSched("studying")
sunSch.showSched()

 运行结果

a828085770fc04c92a5bb93674b343a8.png

bbaf5fafa508593b11deb917951facae.png

点击上方蓝字关注我们

d10a63cf54a057b67d66733e22c37864.png

下方查看历史文章

5e45455f5c50f33ed997f857aafa5644.png

递归

函数参数默认值

函数基础

caller和caller

posted @   前端导师歌谣  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2022-11-03 js基础笔记学习70-可变类型1
2022-11-03 js基础笔记学习67-对象得属性2
2022-11-03 js基础笔记学习66-对象得属性
2022-11-03 js基础笔记学习61-修改质数练习1
2022-11-03 js基础笔记学习63-修改质数练习3
2022-11-03 js基础笔记学习58-练习1循环嵌套打印九九乘法表
2022-11-03 js基础笔记学习57-循环嵌套2
点击右上角即可分享
微信分享提示