WRW跟随javscript code1为innerhTML分配一个字符串,但Code2将字符串分开,即一旦遇到“\”(backslsh)后跟小写字母,它就会终止字符串。但如果我用大写字母替换它或添加2 \它工作正常。
我有一个我无法改变字符串的情感:“root \ uMBUS”,但是我 可以做一些JAVASCRIPT THINGY确保弦被分配为A 单线到内线。
代码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.
答案 0 :(得分:2)
我相信您的JavaScript引擎会将\uMBUS
解释为Unicode序列。除此之外,\uMBUS
不是有效的Unicode序列。为防止这种情况发生,您可以尝试转义反斜杠:
function ABC2() { document.getElementById('abc2').innerHTML ='<th>"root\\uMBUS"</th>';}
^^ escape \\u here
通过使用文字反斜杠,序列\uMBUS
也应该被解释为文字。
要确认我声称的内容,只需在任何JS引擎上尝试以下代码段:
var stuff = '\u2700';
如果你检查stuff
,你应该看到剪刀dingbat角色。然后尝试以下操作,并观察您收到的错误消息:
var stuff = '\uMBUS';