gpt4 book ai didi

javascript - javascript 字符串中后跟小写字母的反斜杠破坏了字符串

转载 作者:行者123 更新时间:2023-11-30 15:04:57 25 4
gpt4 key购买 nike

在 javscript code1 之后的 WRT 将单个字符串分配给 innerhTML,但 Code2 将字符串分隔开,即它会在遇到“\”(backslsh)后跟一个小写字母时立即终止字符串。但如果我用大写字母替换它或添加 2\它工作正常。

I've a sitiation where i can't alter the string: "root\uMBUS", BUT I CAN DO SOME JAVASCRIPT THINGY TO MAKE SURE THE STRING IS ASSIGNED AS A SINGLE STRING TO INNERHTML.

代码1:

function ABC() {  document.getElementById('abc').innerHTML ='<th>"root\UMBUS"</th>';}  
// Works fine 'coz \ is followed by a uppercase alphabet.

代码 2:

function ABC2() {  document.getElementById('abc2').innerHTML ='<th>"root\uMBUS"</th>';}
// String breaks 'coz \ is followed by a lowercase alphabet.

最佳答案

我相信您的 JavaScript 引擎正在将 \uMBUS 解释为 Unicode 序列。除此之外,\uMBUS 不是有效的 Unicode 序列。为防止这种情况发生,您可以尝试转义反斜杠:

function ABC2() {  document.getElementById('abc2').innerHTML ='<th>"root\\uMBUS"</th>';}
^^ escape \\u here

通过使用文字反斜杠,序列 \uMBUS 也应该被解释为文字。

要确认我的声明,只需在任何 JS 引擎上尝试以下代码片段:

var stuff = '\u2700';

如果您检查 stuff,您应该会看到一个剪刀标志性字符。然后尝试以下操作,并观察您收到的错误消息:

var stuff = '\uMBUS';

关于javascript - javascript 字符串中后跟小写字母的反斜杠破坏了字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45930935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com