在javascript中,我知道如果我有一个函数:
var myFunction = function() {
return 'Hello World';
};
然后我可以扩展myFunction
对象并向其添加属性,如下所示:
myFunction.myProperty = 'Goodbye World';
然后我既可以调用函数又可以访问属性:
// Returns 'Hello World'
myFunction();
// Returns 'Goodbye World'
myFunction.myProperty;
我想知道是否有办法在已经存在的对象上创建函数;基本上是上述但相反:
myFunction = {
myProperty: 'Goodbye World'
};
myFunction ...{sprinkle some magic here}... = function() {
return 'Hello World';
};
// Returns 'Hello World'
myFunction();
// Returns 'Goodbye World'
myFunction.myProperty;
当然,仅仅将函数分配给myFunction
对象会覆盖已经分配给变量的现有对象。有没有办法做到这一点,我忽略了?