3

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、変数に既に割り当てられている既存のオブジェクトが上書きされます。私が見落としているこれを行う方法はありますか?

4

1 に答える 1