Javascript 无法使用switch语句在函数之间切换

Javascript 无法使用switch语句在函数之间切换,javascript,node.js,Javascript,Node.js,我有一个函数,我想用switch语句调用另一个函数。独立地,所有函数及其开关案例都能正常工作,但如果我调用开关中的函数,则被调用的函数不会得到执行。这在Node.js中 FieldArr.forEach(函数(条目、索引){ 如果(!输入) 回来 开关(真){ 案例(/color1/.test(条目)): log(“我得到了颜色1”); display.color1=红色; 打破 案例(/color2/.test(条目)): log(“我得到了颜色2”); display.color2=蓝色;

我有一个函数,我想用
switch
语句调用另一个函数。独立地,所有函数及其
开关
案例都能正常工作,但如果我调用开关中的函数,则被调用的函数不会得到执行。这在Node.js中

FieldArr.forEach(函数(条目、索引){
如果(!输入)
回来
开关(真){
案例(/color1/.test(条目)):
log(“我得到了颜色1”);
display.color1=红色;
打破
案例(/color2/.test(条目)):
log(“我得到了颜色2”);
display.color2=蓝色;
打破
案例(/color3/.test(条目)):
log(“我得到了颜色3”);
display.color1=黄色;
打破
案例(/shape/.test(条目)):
log(“我得到了形状”);
形状();
打破
//已尝试从此案例中删除中断,但仍无法执行black函数。
}
})
这是黑色的

函数共享(){
开关(真){
案例(/shape1/.test(条目)):
log(“我得到了shapel”);
display.color1=圆形;
打破
案例(/shape2/.test(条目)):
log(“我得到了形状2”);
display.color2=三角形;
打破
案例(/shape3/.test(条目)):
log(“我得到了形状3”);
display.color1=六边形;
打破
案例(/Number1/.test(条目)):
log(“我得到了1号”);
数字();
打破
//已尝试从此案例中删除中断,但仍无法执行black函数。
}
}

有一个定义为黑色的函数号。这是正确的方法吗?

我认为您需要将条目传递给函数以使其工作,如下所示:

function share(entry) {
  switch (true) {
    case (/shape1/.test(entry)):
      console.log("I got shapel");
      display.color1 = round;
      break;
...

否则,它怎么知道该使用哪个条目?

什么是“函数号定义为与黑色相同”。这是什么意思?这个问题确实缺少答案。我们不知道所有这些变量意味着什么。演示问题。您的描述不太清楚。看起来您并没有在任何地方调用black()。此外,您的第一个开关是调用shape(),但您共享的函数名为share()。这是故意的吗?