这个是闭包封装变量的例子:functionisFirstLoad(){//查询是否是第一次输入函数debugger;var_list=[];returnfunction(id){if(_list.indexOf(id)>=0){returnfalse;}else{_list.push(id);returntrue;}};}varfirstLoad=isFirstLoad();console.log(firstLoad(10));console.log(firstLoad(10));console.log(firstLoad(20));不明白_list为什么是私有的,firstLoad(10)在传参的时候直接进到了function(id)吗?为啥不是进到isFirstLoad()啊,所以也不明白为什么可以传进来参数我按照我以前的思路改成了这个,就不能实现函数的功能了,也不懂其中的原因:functionisFirstLoad(id){//debugger;var_list=[];if(_list.indexOf(id)>=0){returnfalse;}else{_list.push(id);returntrue;}}//使用console.log(isFirstLoad(10));console.log(isFirstLoad(10));console.log(isFirstLoad(20));这样的话,全是ture,并不是很懂为什么不起作用
慕沐林林
慕哥6287543
相关分类