function func() { let i = 0 return () => { i++ return i } } const func1 = func() const func2 = func() func1() func2() func1() func2()
func1和func2分别创建了func()的对象
变量i未被销毁,所以结果为
1、1、2、2
请问这样理解是够正确,不正确还望纠正下,谢谢
function func() { let i = 0; //返回一个闭包函数 return () => { i++; return i; } } const func1 = func();//func1指向闭包函数 const func2 = func();//func2指向闭包函数,和func1是2个不同的函数对象 func1();//i=1; func2();//i=1; func1();// i=2; func2();//i =2
2.1m questions
2.1m answers
60 comments
56.7k users