ES6—30:一文搞懂闭包

简介: ES6—30:一文搞懂闭包

什么是闭包?

闭包是一种有权访问另一个函数作用域中变量的函数

闭包的主要作用

答:延伸了变量的作用范围。

闭包应用1(利用闭包的方式得到当前小li的索引号)

image.png

闭包应用2(计算打车价格)

<script>
// 计算打车价格
// 打车起步价13(3公里内),之后每多一公里增加5块钱,用户输入公里数就可以计算
// 打车价格,如果有拥堵的情况,总价格多收取10块钱的拥堵费
var user_price = (function () {
    var start = 13;
    var total = 0;
    return {
        price: function (n, flag) {
            if (n <= 3) {
                total = start;
            } else {
                total = start + (n - 3) * 5;
            }
            if (flag == true) {
                total = total + 10;
            } else {
                total = total;
            }
            return total;
        }
    }
})();
console.log(user_price.price(5, true));
console.log(user_price.price(1, false));
</script>


作者:Always_positive

链接:https://juejin.cn/post/6948665080426790925

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章
|
2月前
|
JavaScript
震惊了,面试官居然问我ES6中class语法糖是怎么实现的
【10月更文挑战第2天】震惊了,面试官居然问我ES6中class语法糖是怎么实现的
震惊了,面试官居然问我ES6中class语法糖是怎么实现的
|
7月前
|
JavaScript 前端开发
JavaScript开发基础问题:解释一下变量提升。
JavaScript开发基础问题:解释一下变量提升。
67 5
|
7月前
|
JavaScript 前端开发 网络架构
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
75 1
|
前端开发
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域4
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域4
48 0
|
前端开发
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域3
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域3
40 0
|
前端开发
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域1
前端学习笔记202306学习笔记第三十八天-Es6-块级作用域1
44 0
|
前端开发 API
每天3分钟,重学ES6-ES12(十一)Promise的类方法
每天3分钟,重学ES6-ES12(十一)Promise的类方法
94 0
|
JavaScript 前端开发 Java
每天3分钟,重学ES6-ES12(十二)不常用但却常问的迭代器
每天3分钟,重学ES6-ES12(十二)不常用但却常问的迭代器
127 0
|
前端开发
每天3分钟,重学ES6-ES12(十三)不常用但却常问的生成器函数
每天3分钟,重学ES6-ES12(十三)不常用但却常问的生成器函数
92 0