Javascript 函数工作,但在控制台中我得到一个语法错误

Javascript 函数工作,但在控制台中我得到一个语法错误,javascript,Javascript,出于调试目的,我使用eval()如下: function logInternal(type, msg) { eval("console." + type + "('" + msg + "')"); }; 函数本身可以工作,问题是若控制台是活动的,我仍然会得到一个错误 Uncaught SyntaxError: missing ) after argument list 我知道不推荐eval,但不管怎样,你知道哪里不对吗?Thx

出于调试目的,我使用eval()如下:

function logInternal(type, msg) {
   eval("console." + type + "('" + msg + "')");
};
函数本身可以工作,问题是若控制台是活动的,我仍然会得到一个错误

Uncaught SyntaxError: missing ) after argument list

我知道不推荐eval,但不管怎样,你知道哪里不对吗?Thx有效。可以使用带括号表示法的属性,而不使用
eval

函数逻辑内部(类型,消息){
控制台[类型](消息);
}

logiinternal('log','works!')它可以工作。可以使用带括号表示法的属性,而不使用
eval

函数逻辑内部(类型,消息){
控制台[类型](消息);
}

logiinternal('log','works!')
您可以使用
控制台['log']('msg')
而不是
eval
logInternal('log','test')
type
msg
的值是什么?如果要使用您的方法,您必须在
msg
中转义单引号。我真的很推荐这里。为什么还要使用
eval
?您可以使用
控制台['log']('msg')
而不是不推荐的
eval
logInternal('log','test')
type
msg
的值是什么?如果要使用您的方法,您必须在
msg
中转义单引号。我真的想在这里推荐一下。为什么还要使用
eval
?“它有效”-不是对
msg
的每一个值都有效@Andreas,你有没有一个例子?@NinaScholz假设“它有效”适用于OP的初始解决方案,调用
logInternal('log',`('`)
会中断。“它有效”-并非对于
msg
@Andreas的每一个值,你有一个例子吗?@NinaScholz假设“它起作用”适用于OP的初始解决方案,调用
logiinternal('log',`('`)
将中断。