当函数需要使用一个在调用过程中都保持不变的值时,使用Function对象的属性比定义全局变量【但是带来的坏处是使得名字空间变的更加的混乱】更加的方便。
例子:
例如我们想编写一个函数,但是我们在调用这个函数的时候,只会返回一个唯一的值,这个函数不能将同一个值重复的返回, 为了达到这个目的,它需要保存已经返回的值,同时这个值在整个函数调用过程中都应该保持不变。可能有些人会想到我们可以用全局变量来表示,但是你要明白这个信息是由函数自己使用的,素以我们可以不必使用全局变量。我们知道js中有Function这个对象,因为对象都有自己的属性和方法,我们可以自定义属于函数的属性,说明白了就是把这个变量保存在函数的属性中,这样每次调用,就很清楚的知道这个变量是函数自己的属性,方便于阅读。
1 girl.age=23;
2 function boy()
3 {
4 girl.age++;
5 var ky="my girlfriend's age is"
6 ky+=girl.age;
7 return ky;
3 {
4 girl.age++;
5 var ky="my girlfriend's age is"
6 ky+=girl.age;
7 return ky;
8 }
这样调用很清楚的知道变量的出处,同时便于阅读,唯一带来的坏处是让名字空间变的很混乱