Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您可以不使用'创建JavaScript字符串吗;或;引用?_Javascript_String - Fatal编程技术网

您可以不使用'创建JavaScript字符串吗;或;引用?

您可以不使用'创建JavaScript字符串吗;或;引用?,javascript,string,Javascript,String,我有一个JS文件,其中包含一些XML,其中XML应该由服务器转换为word 例如 但是,如果服务器不能按预期工作,我不希望出现语法错误,这一点非常重要。当前将出现语法错误,因为该语言同时使用两种类型的引号。我想不出一种方法来解决这个问题,但也许有另一种方法可以在JavaScript中引用?还是创建一个字符串 例如,在Python中,我会使用三重引号: ip = """<lang:cond><lang:when test="$(VAR{'ip_addr'})">$(VAR{

我有一个JS文件,其中包含一些XML,其中XML应该由服务器转换为word

例如

但是,如果服务器不能按预期工作,我不希望出现语法错误,这一点非常重要。当前将出现语法错误,因为该语言同时使用两种类型的引号。我想不出一种方法来解决这个问题,但也许有另一种方法可以在JavaScript中引用?还是创建一个字符串

例如,在Python中,我会使用三重引号:

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