// setup 函数能在一个闭包里存储一些私有数据// setup() 创建了一个技术函数, 返回下一个id. 并且count变量没有暴漏出来.var setup = function () {var count = 0;return function () {return ++count;};};var next = setup(); //修改next无法改变count的值,count是受到保护的//next(); // returns 1//next(); // returns 2//next(); // returns 3