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

你可能感兴趣的:(JavaScript)