有时当我需要一个静态变量时,我会使用并立即调用函数表达式 (IIFE) - example1。
(function(){
var private_statik = 'hi',
publik = {};
return publik;
}())
其他时候,我只是将它们作为属性添加到需要它们的函数中-example2。
function foo () {
}
foo.statik = 'hello';
Example1 很好,因为我得到了封装(隐私)的好处。示例 2 很好,因为它很简单,并且没有自动执行的开销。
还有其他需要考虑的事情吗?
我拥有的特定案例是换页器 - sFlipPage()
. 我想将所有 DOM 元素缓存在一个静态位置,以便它们在每次调用时都可用,并且每次调用函数时都不必从 DOM 中提取它们。
谢谢!