所以我一直在摆弄 eval 函数,并且正在使用 prompt 进行一个小的聊天项目。如果我这样做:
var test = 'prompt("Username: Jimbles \n Message:")'
eval(test)
我收到以下错误:
Uncaught SyntaxError: Invalid or unexpected token
这是因为它在求值时在字符串本身中放置了一个新行,而不是在提示中放置它。
这是 JavaScript 看到的内容:
'prompt("Username: Jimbles
Message:")'
我需要使用 eval,因为我要从服务器获取要执行的代码,并且需要一种执行它的方法。我如何才能成功地在 eval 中使用换行符而不会出现此错误并将换行符放入 eval 字符串本身?我希望在提示中有一个换行符,而不是评估的字符串。谢谢!
最佳答案
由于您希望 test
字面上包含 \n
,因此您需要转义反斜杠。
即:
var test = 'prompt("Username: Jimbles \\n Message:")'
eval(test)
关于javascript - 评估和提示并发症,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49726093/