使用对象初始值设定项在对象中记录自定义函数时,为什么会出现未定义的问题?

时间:2017-12-13 15:07:33

标签: javascript

我正在学习更多关于JavaScript中的对象,并且我学会了创建这样的对象:

const myObject = {
    foo: 'bar',
    answerToUniverse: 42,
    'olly olly': 'oxen free',
    sayHello: function() {
      return 'hello';
    },
  };

所以我认为我可以在自定义函数中创建相同类型的对象:

function createMyObject() {
  const myObject = {
    foo: 'bar',
    answerToUniverse: 42,
    'olly olly': 'oxen free',
    sayHello: function() {
      return 'hello';
    },
  };
}

console.log(createMyObject());

但是当我记录它时,我得到undefined

我知道写一个更好的方法是这样的:

function createMyObject() {
  return {
    foo: 'bar',
    answerToUniverse: 42,
    'olly olly': 'oxen free',
    sayHello: function() {
      return 'hello';
    },
  };
}

但是,有没有办法在代码中使用对象初始化程序在自定义函数中成功创建对象?它似乎应该有效。

1 个答案:

答案 0 :(得分:0)

如果某个函数没有以ax1 = plt.subplot(221) plt.plot(range(len(a)), [v[0] for v in a]) ax2 = plt.subplot(222) plt.plot(range(len(a)), [v[3] for v in a]) ax3 = plt.subplot(223) plt.plot(range(len(a)), [v[2] for v in a]) ax4 = plt.subplot(224) plt.plot(range(len(a)), [v[1] for v in a]) 语句结尾,那么与以return结尾的方式相同所以您的代码相当于:

return undefined;