闭包的概念
闭包(closure):函数和其周围的状态(词法环境)的引用捆绑在一起形成闭包
作用:可以在另一个作用域中调用一个函数的内部函数并访问到该函数的作用域中的成员
案例:
案例1:
function MakePower(power) {
return function(number) {
return Math.pow(number, power)
}
}
//求平方
let num2 = MakePower(2);
//求立方
let num3 = MakePower(3);
console.log(num2(4)); //16
console.log(num2(5));//25
console.log(num3(5));//125
案例2:
function makeSalary(base) {
return function(performance) {
return base + performance
}
};
let salaryLevel1 = makeSalary(12000);
let salaryLevel2 = makeSalary(15000);
console.log(salaryLevel1(2000)); //14000
console.log(salaryLevel1(3000)); //18000
谢谢观看,如有不足,敬请指教