如何定义同名的函数和对象?

时间:2012-07-28 08:11:47

标签: javascript function object member

所以根据this,这是不可能的。但是我称之为废话,因为例如jQuery对象可以被称为具有成员函数(jQuery.cookie())的对象,但也可以作为函数本身(jQuery('my_selector'))。

如何与对象实现相同的效果?假设我想要foo命名空间中名为 window对象,其中包含成员函数 bar,但也需要< em>名为 foo的函数与window 对象在同一个foo名称空间中。声明这样的对象 - 函数混合后,我将能够进行以下调用:

window.foo(arg);

window.foo.bar(arg);

1 个答案:

答案 0 :(得分:3)

一个函数也是一个对象:

function foo() { /* blah */ }
foo.bar = function () { /* blah */ }