Короткий ответ - нет.Прочитайте объяснение ниже.
Конечный результат вашего кода выглядит примерно так:
var myFunctionObject = {
prop1: 'foo',
prop2: 'bar',
construct: "alert('function body')"
};
myFunctionObject(); // should alert
myFunctionObject.prop1; // 'foo'
Определение / объявление функции фактически делает нечто очень похожее - он создает объект с [[Construct]] свойство, установленное на собственно тело функции.Но это всего лишь детали реализации, и вы не можете получить доступ или установить это свойство [[Construct]] отдельно, поэтому вы не можете определять другие свойства за один раз (для этого потребуется дополнительный синтаксис, а доступного нет).1007 * Но вы можете установить свойства внутри функции, если это то, что вам нужно.Например, это было бы полезно для кэширования:
function getSomething() {
if (getSomething.prop) return getSomething.prop;
return getSomething.prop = fetchResource();
}