闭包
1、闭包可以访问当前函数以外的变量
function a() { var date = '1'; function b(str) { console.log(str + date); //访问外部的date } return b('数字是'); //外部函数返回 } a();
2、即使外部函数已经返回,闭包仍能访问外部函数定义的变量
function a() { var date = '1'; function b(str) { console.log(str + date); //访问外部的date } return b; //外部函数返回 } var num = a(); num('数字是'); // 数字是1
3、闭包可以更新外部变量的值
function a() { var count = 1; function b(x) { count = x; console.log(count); //访问外部的date } return b; //外部函数返回 } var y = a(); y(666)
只有在泥泞的道路上才能留下脚印