JSON.parse('"\n"')为什么会报错

我知道如何修改,但是并不知道其中的原理,模模糊糊的知道一点,但是不是太清晰,有如下几个问题:
(1).是不是在某个过程会将转义字符n解析为换行。
(2).由于上述的解析导致报错。
其中到底经历了一些什么,真的把我搞懵逼了

阅读 4.9k
4 个回答

image.png
你想要的是这样吧,不这样写\n直接在执行时就已经被转义了,然后JSON.parse就报错了
image.png

就是现在JSON.parse需要一个"\n"
然而直接执行'\n'会得到一个"↵"
此时JSON.parse就会报错
我们就需要在\前加一个\
\\结合得到\
而不是\n结合得到
我表达水平不行只能讲成这样了😂


'"\n"'

的结果是
"↵"
eval('"\n"')就相当于直接执行下面的代码

"
"

不是合法的JS

解析的时候遇到\会转义解析后面的字符,n无法被正确转义所以报错。

这个地方报错并不是因为\\n 转义为回车了,你可以试试把n换成一个引号,也是会报错。所以我猜是要转义“\\”这个反斜杠, 所以需要多写个“\\”。我在打这段字的时候 \\ 还被转义了 不见了

推荐问题
宣传栏