Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 在JS中使用反勾号(``)会导致空行_Javascript_Backticks - Fatal编程技术网

Javascript 在JS中使用反勾号(``)会导致空行

Javascript 在JS中使用反勾号(``)会导致空行,javascript,backticks,Javascript,Backticks,我使用了backticks语法,以便使用Javascript生成一些Java代码: ${body ? `con.setDoOutput(true); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(${JSON.stringify(body)}); wr.flush(); wr.close();` : ``} int responseCode = con.getResponseCo

我使用了backticks语法,以便使用Javascript生成一些Java代码:

${body ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``}

int responseCode = con.getResponseCode();
但是,当body为null时,生成的代码包含3-4个空行,然后 “int responseCode..”行。 我试着把body为true的部分提取到一个单独的常数中,或者像语句中的第一个一样移动``但它们都不起作用。有什么建议吗


提前谢谢

如果您正确检查了主体的变量,例如:

typeof body == "undefined" ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``
将返回以下字符串:

"con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();"

不只是使用
body?“字符串”:“
,对主体的变量执行一些操作(例如
body==”
typeof body==“undefined”

如果您正确检查主体的变量,例如:

typeof body == "undefined" ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``
将返回以下字符串:

"con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();"

不只是使用
body?“字符串”:“
,对主体的变量执行一些操作(例如
body==”
typeof body==“undefined”

为什么在
body
之前有
${
${……}
语法只在backticks内部起作用,因此奇怪的是,为什么第一行的语法在backticks之外。更奇怪的是,您没有收到“语法错误:意外的标记{”错误?抱歉。它在backticks内部,类似于:
…..${body?`con.setDoOutput(true);DataOutputStream wr=new DataOutputStream(con.getOutputStream());writeBytes(${JSON.stringify(body)});wr.flush();wr.close();`:
}int responseCode=con.getResponseCode();…``为什么在
body
之前有
${/code>
语法只在backticks内部起作用,因此奇怪的是,为什么第一行的语法在backticks之外。更奇怪的是,您没有得到“语法错误:意外的标记{”错误?对不起。它在backticks内部,类似于:
…..${body?`con.setDoOutput(true);DataOutputStream wr=new DataOutputStream(con.getOutputStream());wr.writeBytes(${JSON.stringify(body)});wr.flush();wr.close();`:
}int responseCode=con.getResponseCode();…``你能用js发布JSIDLE吗?你能用js发布JSIDLE吗?