Javascript 在JS中使用反勾号(``)会导致空行
我使用了backticks语法,以便使用Javascript生成一些Java代码: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
${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吗?