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

javascript中函数和对象差不多,只是多了执行的能力

任何一个函数都可以为其动态地添加或去除属性,这些属性可以是简单类型,可以是对象,也可以是其

他函数。也就是说,函数具有对象的全部特征,你完全可以把函数当对象来用。其实,函数就是对象,只

不过比一般的对象多了一个括号“()”操作符,这个操作符用来执行函数的逻辑。即,函数本身还可以被调

用,一般对象却不可以被调用,除此之外完全相同。请看下面的代码:

function Sing()

{

with(arguments.callee)

alert(author + ":" + poem);

};

Sing.author = "李白";

Sing.poem = "汉家秦地月,流影照明妃。一上玉关道,天涯去不归

";

Sing();

Sing.author = "李战";

Sing.poem = "日出汉家天,月落阴山前。女儿琵琶怨,已唱三千年

";

Sing();

在这段代码中,Sing 函数被定义后,又给 Sing 函数动态地增加了 author 和 poem 属性。将 author

10

和 poem 属性设为不同的作者和诗句,在调用 Sing()时就能显示出不同的结果。这个示例用一种诗情画

意的方式,让我们理解了 JavaScript 函数就是对象的本质,也感受到了 JavaScript 语言的优美