Javascript 换行符为';及;

Javascript 换行符为';及;,javascript,jquery,cordova,Javascript,Jquery,Cordova,我正在为我的移动应用程序使用phonegap。我需要动态生成查询,然后执行查询 qry += "('" + item1 + "','" + id + "','" + item2 + "','" + item3 + "'),"; item1、item2、item3应该是字符串,以便在执行时成功执行查询 在大多数情况下,上面这一点对于我的用例来说都很好。但我现在犯了一个意想不到的错误 如果项目1中的值为1'英尺或10'英尺代码中断,执行失败 我如何克服这个问题?[编辑了前面的答案] 试试这个

我正在为我的移动应用程序使用phonegap。我需要动态生成查询,然后执行查询

qry += "('" + item1 + "','" + id + "','" + item2 + "','" + item3 + "'),";
item1、item2、item3应该是字符串,以便在执行时成功执行查询

在大多数情况下,上面这一点对于我的用例来说都很好。但我现在犯了一个意想不到的错误

如果项目1中的值为
1'英尺
10'英尺
代码中断,执行失败


我如何克服这个问题?

[编辑了前面的答案]

试试这个


函数fnescapequeotes(){
var item1=“福特”;
var item2=“道奇”;
var item3=“奔驰”;
var-id=100;
var qry=“(“+item1+”、“+id+”、“+item2+”、“+item3+”)、“;
警报(JSON.stringify(qry.slice(1,-1));
}

以下是一个ES2015解决方案,用于展示模板标签:

function esc(pieces, ...subs) {
    var result = pieces[0];
    for (var i = 0; i < subs.length; ++i) {
        // uses `.escape`, use other escaping function if you want.
        // for example with `/`
        result += escape(subs[i]) + pieces[i + 1];
    }
    return result;
}
功能esc(件){
var结果=件[0];
var subs=[].slice.call(参数,1);
对于(变量i=0;idocument.body.innerHTML=esc`(${hello})`终于找到答案了,我们需要在Sql中而不是在jquery中使用转义字符串,用双单引号代替单引号解决了这个问题

item1.replace(/'/g, "''") ;

通过转义字符串。在此基础上,成功地完成了查询。但在db中,我得到的是#39而不是',它正在构建一个javascript字符串。它需要javascript转义(使用
\'
),而不是HTML转义。如果变量的值是动态分配的,我如何使用\n转义它?您应该在问题中提到,查询转到MySQLYea,我忘记了那一个!
item1.replace(/'/g, "''") ;