我在这里看到了多个类似性质的问题,但没有一个适用于我所拥有的特定事物(我使用的是 node.js)。因此,例如在此处使用此代码。
function command_call(message, socket) {
if (message.length > 1){
var func = message[0];
var string = message.slice(1);
var string = string.join(' ')}
else{
var func = message[0];
var string = '';};
if(func[0] == '$') {
(eval(func.slice(1)))(string, socket);};
};
function say(string, socket){
socket.write(string)};
如果传递给 command_call 的消息是“$say hi”,那么函数 say 将被调用并返回“hi”。这工作得很好,但是,如果放入 eval 的函数不存在,它就会崩溃。例如,如果传递给 command_call 的消息是“$example blah”,它将尝试评估“example”。基本上我需要它在评估函数之前检查函数是否存在。是的,我想使用 eval,除非在节点中有更好的方法。再一次,这是在 node.js 中