当函数需要使用一个在调用过程中都保持不变的值时,使用Function对象的属性比定义全局变量(这样会使名字空间变得散乱)更加方便。例如,假设我们想编写一个函数,使它在被调用时返回一个唯一的整数。该函数不能将同一个值返回两次。为了做到这一点,它需要保存已经返回的值,而且这一信息在整个函数调用过程中必须保持不变。虽然我们可以将这一信息存储在一个全局变量中,但是由于这一信息是由函数自己使用的,所以不必使用全局变量。最好的方法莫过于将信息存储在Function对象的属性中。下面是一个例子,只要这个函数被调用,它都会返回一个唯一的整数:
uniqueInteger.counter=0;
function uniqueInteger(){
return uniqueInteger.counter++;
}