在阅读Javascript:权威指南时,我对定义您自己的函数属性部分很感兴趣。让我给你举个例子:
function foo( ) {
foo.bar++;
return foo.bar;
};
foo.bar = 0;
foo( ); // returns 1
foo( ); // returns 2
因此,上面演示了如何使用这些属性在对函数的多次调用之间持久化数据。
我知道在上面的示例中属性本质上是公共的,但是除了使用闭包将属性设为私有的明显示例之外,还有什么理由不应该使用它,或者为什么首选其他持久化数据的方法。