日期:2014-05-16  浏览次数:20365 次

javascript的callee属性使用

一个有全局变量污染的例子。

var uid = 1;

function newId(){
  return uid++;
}

newId(); // 1
newId(); // 2


使用callee后减少了全局变量污染。

function newId(){
  var thisFun = arguments.callee;
  if(!thisFun.uid) thisFun.uid = 1;
  return thisFun.uid++;
}

newId(); // 1
newId(); // 2