为什么我得到':'预期“?我正在尝试定义一些函数来运行一些单元测试以获得基准

Why am I getting ':' expected"? I'm trying to define a few functions to run some unit tests on for a benchmark

我正在尝试使用 JS 中的 Mocha 和 Chai 将这些函数定义为 运行 一些同步和异步测试用例,我做错了什么?为什么我的编辑器标记了某些行?

module.exports = {

    function myFunctiona ()  {
      
    }
        
    
    
    function myFunctionb ()  {
        for (let i = 0; i < 10000; i++) {
          new Date();
        }
      }
    
    function myFunctionc(done)  {
        setTimeout(done, 0);
      }
      
    function myFunctiond (done) {
        setTimeout(done, Math.round(Math.random() * 10));
      }
    
    }

这是一个语法错误,因为您正在定义一个具有属性的对象,但您没有 属性 键。有关详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Missing_colon_after_property_id

通常,您会像下面这样定义一个对象 (也请注意每个 属性 后的逗号):

var object = {
    property1: 'thing',
    property2: function() {
        return 'thing2';
    }
}

所以要将函数更改为属性,请将 属性 键设置为函数名称,然后为其分配一个函数,如:

module.exports = {

    myFunctiona: function ()  {
        //nothing
    },

    myFunctionb: function ()  {
        for (let i = 0; i < 10000; i++) {
            new Date();
        }
    },

    myFunctionc: function (done)  {
        setTimeout(done, 0);
    },

    myFunctiond: function (done) {
        setTimeout(done, Math.round(Math.random() * 10));
    }

};