为什么我得到':'预期“?我正在尝试定义一些函数来运行一些单元测试以获得基准
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));
}
};
我正在尝试使用 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));
}
};