javascript作用域闭包
2021/6/16 12:24:53
本文主要是介绍javascript作用域闭包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、什么是作用域闭包
函数在它所声明之外的作用域被执行,此时函数仍然能访问它声明所在作用域内的变量,这就形成了作用域闭包
function foo() { var a = 100 function bar() { console.log(a) } return bar // 通过函数名来返回函数的引用 } var baz = foo() // 外部变量引用了foo函数内部的bar函数 baz() //形成了闭包
二、作用域闭包的几种代码实现方式
1. 函数返回一个内部函数,代码形式如上
2. 函数返回一个包含方法的对象
function foo() { var a = 100 function bar() { console.log(a) } return { bar: bar } } var baz = foo() baz.bar()
3. ECMAScript模块或commonjs模块
var a = 100 function foo() { console.log(a) } export {foo } // esm模块方式 module.exports = { foo } //commonjs模式
4. 函数内部执行回调函数
function foo() { var a = 100 setTimeout(function(){ console.log(a) }, 1000) }
这篇关于javascript作用域闭包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南