Javascript语法问题-与`兼容但与'兼容,为什么?

时间:2019-01-06 15:05:01

标签: javascript syntax

我的PHP确实存在语法问题:

如果我在Visual Studio Code中键入此内容,则此行没有问题:

html += `<a href="php/get-download.php?&link=${encodeURIComponent(input_URL)}" target="_blank"></a>`;

但是它不能在Internet Explorer 11上运行,这会出现错误:

  

消息:无效字符

代码:

html += '<a href="php/get-download.php?&link=' + 
${encodeURIComponent(input_URL)} + '" target="_blank"></a>`;

由于存在语法问题,Visual Studio Code不接受此行代码。

  

错误:$ =>预期';'   ; => Unterminated string literal.

我发现这与[Template-Strings][1]有关,但是如何避免这种语法?如何正确设置格式,使其在Internet Explorer上也能正常工作?

3 个答案:

答案 0 :(得分:0)

html += '<a href="php/get-download.php?&link=' + ${encodeURIComponent(input_URL)} + '" target="_blank"></a>';

您的末尾有`而不是'。

答案 1 :(得分:0)

问题是template literals不受任何版本的Internet Explorer的支持-请在IE列中看到红色的大X。

答案 2 :(得分:0)

两个答案都不错,但还不完整。 (抱歉无法发表评论,所以我会回答)

在实施某种新功能以检查其支持时,应使用https://caniuse.com

在您的情况下,您应该切换到旧的学校弦乐大楼:

html += '<a href="php/get-download.php?&link=' + encodeURIComponent(input_URL) + '" target="_blank">link</a>';

无需使用$ {}。