var input;
// method 1
input = document.getElementById('address').value;
alert(input)
// method 2
eval('input = "'+document.getElementById('address').value+'"')
alert(input)
方法1正常正常,但方法2无法正常工作输入换行符字符并显示“未终结字符串文字“即可。
无论如何,我需要使用 eval 存储值。所以请帮助我。
答案 0 :(得分:4)
使用string.replace(/\r?\n/g, "\\n")
转义换行符。
答案 1 :(得分:1)
那是因为你实际上正在评估看起来像这样的代码,这在javascript中是错误的
var test = "Lorem ipsum
dolor sit amet";
为什么需要评估?在这种情况下,它看起来不是必要的。也许我们可以帮助你绕过eval?
答案 2 :(得分:0)
尝试:
const address = document.getElementById('address').value
eval('input = ' + JSON.stringify(String(address)))
字符串(地址)将保证对象是字符串。 JSON.stringify将返回用eval解析的双引号字符串。