我有一个带有一些XML的JS文件,其中XML应该由服务器转换为单词.
例如
var ip = "<lang:cond><lang:when test="$(VAR{'ip_addr'})">$(VAR{'ip_addr'})</lang:when></lang:cond>";
Run Code Online (Sandbox Code Playgroud)
这将转换为:
var ip = "192.168.0.0";
Run Code Online (Sandbox Code Playgroud)
但是,如果服务器无法按预期工作,我不希望出现语法错误,这非常重要.目前会出现语法错误,因为该语言使用两种类型的引号.我想不出办法解决这个问题,但也许还有另一种方法可以在JavaScript中做引用?或者创建一个字符串?
例如,在Python中我会使用三引号:
ip = """<lang:cond><lang:when test="$(VAR{'ip_addr'})">$(VAR{'ip_addr'})</lang:when></lang:cond>"""
Run Code Online (Sandbox Code Playgroud)
任何人都有一个好主意?
Jos*_*osh 22
我不得不为项目创建没有引号的字符串.我们正在向浏览器提供可执行的客户端javascript以用于内部网站.接收端在显示时会删除双引号和单引号.我发现绕过引号的一种方法是将我的字符串声明为正则表达式.
var x = String(/This contains no quotes/);
x = x.substring(1, x.length-1);
x;
Run Code Online (Sandbox Code Playgroud)
我正在寻找相同问题的解决方案。有人建议查看https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/template_strings,这证明很有帮助。在阅读了大约一半的文章后,它说您可以使用向后的刻度字符创建字符串。(`)
尝试这个 :)
document.getElementById('test').innerHTML = `'|'|'|"|"`Run Code Online (Sandbox Code Playgroud)
<div id="test" style="font-size:3em;"></div>Run Code Online (Sandbox Code Playgroud)
In JavaScript, you can escape either type of quote with a \.
例如:
var str = "This is a string with \"embedded\" quotes.";
var str2 = 'This is a string with \'embedded\' quotes.';
Run Code Online (Sandbox Code Playgroud)
特别是,您的 JavaScript 代码块应转换为:
var ip = "<lang:cond><lang:when test=\"$(VAR{'ip_addr'})\">$(VAR{'ip_addr'})</lang:when></lang:cond>";
Run Code Online (Sandbox Code Playgroud)
一般来说,我总是喜欢对引号进行转义,而不是不断地切换引号类型,这取决于其中可能使用的引号类型。
使用String原型:
String(/This contains no quotes/).substring(1).slice(0,-1)
Run Code Online (Sandbox Code Playgroud)
使用String.fromCharCode
String.fromCharCode(72,69,76,76,79)
Run Code Online (Sandbox Code Playgroud)
为此生成字符代码:
var s = "This contains no quotes";
var result = [];
for (i=0; i<s.length; i++)
{
result.push(s.charCodeAt(i));
}
result
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21092 次 |
| 最近记录: |