js深入研究之函数内的函数
第一种
function foo() { var a = 10; function bar() { a *= 2; } bar(); return a; }
第二种
function foo() { var a = 10; function bar() { a *= 2; return a; } return bar; }
两种效果相同。
调用结果
var baz = foo(); // baz is now a reference to function bar. alert(baz()); // returns 20. alert(baz()); // returns 40. alert(baz()); // returns 80. var blat = foo(); // blat is another reference to bar. alert(blat()); // returns 20, because a new copy of a is being used.
有意思。
js设计模式真的很有创意。