您可以不使用'创建JavaScript字符串吗;或;引用?
我有一个JS文件,其中包含一些XML,其中XML应该由服务器转换为word 例如 但是,如果服务器不能按预期工作,我不希望出现语法错误,这一点非常重要。当前将出现语法错误,因为该语言同时使用两种类型的引号。我想不出一种方法来解决这个问题,但也许有另一种方法可以在JavaScript中引用?还是创建一个字符串 例如,在Python中,我会使用三重引号:您可以不使用'创建JavaScript字符串吗;或;引用?,javascript,string,Javascript,String,我有一个JS文件,其中包含一些XML,其中XML应该由服务器转换为word 例如 但是,如果服务器不能按预期工作,我不希望出现语法错误,这一点非常重要。当前将出现语法错误,因为该语言同时使用两种类型的引号。我想不出一种方法来解决这个问题,但也许有另一种方法可以在JavaScript中引用?还是创建一个字符串 例如,在Python中,我会使用三重引号: ip = """<lang:cond><lang:when test="$(VAR{'ip_addr'})">$(VAR{
ip = """<lang:cond><lang:when test="$(VAR{'ip_addr'})">$(VAR{'ip_addr'})</lang:when></lang:cond>"""
ip=“$(VAR{'ip\u addr'})”
任何人都有一个好主意吗?在JavaScript中,您可以使用
\
转义任何一种类型的引号
例如:
var str = "This is a string with \"embedded\" quotes.";
var str2 = 'This is a string with \'embedded\' quotes.';
特别是,您的JavaScript代码块应转换为:
var ip = "192.168.0.0";
var ip = "<lang:cond><lang:when test=\"$(VAR{'ip_addr'})\">$(VAR{'ip_addr'})</lang:when></lang:cond>";
var ip=“$(var{'ip_addr'})”;
一般来说,我总是喜欢转义引号,而不是不断地切换引号类型,这取决于其中可能使用的引号类型。如果不使用单引号或双引号,就无法创建字符串,因为即使直接调用
string()
原型对象,也需要传递字符串
在XML中,您将使用CDATA,但在JS中,您只需转义
'\'strings\'
'\'attributed\'”
我还必须为项目创建不带引号的字符串。我们正在为一个内部网站的浏览器提供可执行的客户端javascript。显示时,接收端将带双引号和单引号。我发现绕过引号的一种方法是将字符串声明为正则表达式
var x = String(/This contains no quotes/);
x = x.substring(1, x.length-1);
x;
使用字符串原型:
String(/This contains no quotes/).substring(1).slice(0,-1)
使用String.fromCharCode
String.fromCharCode(72,69,76,76,79)
为此生成字符代码:
var s = "This contains no quotes";
var result = [];
for (i=0; i<s.length; i++)
{
result.push(s.charCodeAt(i));
}
result
var s=“这不包含引号”;
var结果=[];
对于(i=0;i我正在寻找同一个问题的解决方案。有人建议看看哪一个被证明是有用的。在阅读了大约一半的文章后,它指出可以创建带有倒勾字符的字符串。(`)
试试这个:)
document.getElementById('test').innerHTML=`'|'|'|'|“`
为什么不单独检索XML?这样您就不需要使用引号了。没有引号就无法创建字符串。在javascript中创建字符串的另一种方法是var str=new string(“ok”),str现在的值为“ok”。@Heera-当然可以不加引号地创建字符串String.fromCharCode(72,69,76,76,79)
生成字符串HELLO
。(我知道这在这种情况下一点帮助都没有,但无论如何…)好吧,聪明的回答,谢谢你,但正如你所说的,在这种情况下没有帮助。当然,你可以创建一个字符串而不使用引号。我不是说它对这个问题有任何帮助,但仍然是String。fromCharCode(72,69,76,76,79)
生成字符串HELLO
。啊哈,好主意。既然您提到了vector,我打赌您可以使用一些JavaScript模糊处理技术来实现这一点。不幸的是,事实并非如此,因为XML由于某种原因不能与转义引号一起工作。@Jeff-当JavaScript从字符串中读取内容时,转义引号将不被转义,XML将不再具有转义引号。哇。这是一个巧妙的伎俩。它帮助我解决了一个问题,我需要表示“字符串中的字符串,字符串中的字符串,字符串中的字符串”。:)我使用PHP返回一个JSON字符串(1),其中包括一些HTML
标记(2),其中一个需要包含onclick=“”
属性(3)调用需要字符串参数(4)的JavaScript方法处理程序。我已经用尽了嵌入引号的方法,但没有破坏JS解析器,这时这个聪明的技巧给了我第三种表示一切的方法。激进的,伙计。非常感谢。谢谢这非常有用,你甚至无法想象。/这不包含引号。
var s = "This contains no quotes";
var result = [];
for (i=0; i<s.length; i++)
{
result.push(s.charCodeAt(i));
}
result