JavaScript学习(五)闭包与封装set结构
闭包
什么是闭包?闭包有什么作用?这是我遇到闭包时的第一反应。
闭包在JavaScript高级程序设计(第3版)中是这样描述:闭包是指有权访问另一个函数作用域中的变量的函数
function outerFn() {
var i = 0;
function innerFn() {
i++;
console.log(i);
}
return innerFn;
}
var inner = outerFn(); //每次外部函数执行的时候,都会开辟一块内存空间,外部函数的地址不同,都会重新创建一个新的地址
inner();
inner();
inner();
var inner2 = outerFn();
inner2();
inner2();
inner2();
//1 2 3 1 2 3
闭包案例
起步里程为3公里,起步费13元;
超过3公里以上的部分,每公里5元;
营运过程中,因路阻及乘客要求临时停车的,加收10元
let car = (function () {
let start = 13,
total = 0;
return {
price: function (n) {
if (n < 3) {
total = s