第一种
function foo() {
var a = ; function bar() {
a *= ;
} bar();
return a;
}
第二种
function foo() {
var a = ; function bar() {
a *= ;
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设计模式真的很有创意。