很难在标题中描述这个问题,因为一个例子可以理解我想要做的事情。
我有一个我要添加的JS对象:
jsTestObj = [ ]
在每次调用数据字符串时,我想添加一个键和一个值对:
var pushTestObj = { };
pushTestObj["myKey"] = "MyName";
pushTestObj["myValue"] = "I call myself "Joe""; // these strings may have apostrophes, quotes, or even comments that are legit
jsTestObj.push(pushTestObj);
我需要在这些字段中保留所有引号或括号(和注释,这也是可能的并且与JS注释匹配)。从某种意义上说,我正在寻找一种可能的函数(方法),只需将字符串包装成:
pushTestObj["myValue"] = wrapStringMethodToRetainCharacters(I call myself "Joe");
JS知道它的值是" myValue"并保留引号,撇号和注释,同时仍将其存储在字符串中。
逃脱角色
这适用于引号和撇号;怎么样评论。例如:
var pushTestObj = { };
pushTestObj["myKey"] = "MyName";
pushTestObj["myValue"] = "/* He's "different" */ Sometimes David; // these strings may have apostrophes, quotes, or even comments that are legit
jsTestObj.push(pushTestObj);
答案 0 :(得分:1)
如果您想保留特殊字符,请使用\
转义它们。
以下是一个例子:
pushTestObj['myValue'] = 'I call myself \"Joe\"';
特殊字符始终需要转义。 转义字符将按原样放入字符串中。
请注意,如果没有语法错误,您的代码就不应该运行。
答案 1 :(得分:1)
看来你正在寻找逃避:
pushTestObj["myValue"] = "I call myself \"Joe\""; // these strings may have apostrophes or single quotes that are legit
pushTestObj["myValue"] = "/* He's \"different\" */ Sometimes David"; // these strings may have apostrophes, quotes, or even comments that are legit
字符串可以包含撇号或单引号,没有问题。但是,如果不进行转义,则无法在字符串文字中键入它们。
注释在字符串中没有特殊含义。
如果你有一个语法高亮的发短信,这真的有帮助,因为它会很快显示字符串的开始和结束位置。