【问题标题】:Meaning of ${} in javascriptjavascript中${}的含义
【发布时间】:2013-07-09 08:15:10
【问题描述】:

我最近需要处理 javascript。不幸的是,我是新手。
遇到过如下代码,不明白${count == 0}的含义。

function body_onload()
{
    if(${count == 0})
    {
        document.getElementById("dispaly").style.display="none";
    }   
    scanImageReportFrom.shopCodes.focus();
}

谢谢。


终于找到this可以解决我的问题了。

【问题讨论】:

  • 你在哪里找到这样的代码?
  • 来自我需要跟进的项目。那些代码是我公司里不认识的人写的。
  • 好的。项目是否包含任何 javascript 库?
  • 喜欢这个?
  • <%=path%> 证实了您正在查看原始源代码而不是生成的输出的想法。

标签: javascript syntax


【解决方案1】:

不是你。 :-) 这不是有效的 JavaScript({ 触发语法错误)。

它可能是某个预处理器的标记,在将 JavaScript 传递给 JavaScript 引擎之前用某些东西替换它。

【讨论】:

  • @WesleyMurch:我确实说过“也许”。 :-)
  • 那我真的不明白,因为它运行良好,没有任何错误......:O
  • @JohnnyTse:不,它没有。如果该文本实际传递给普通的 JavaScript 引擎,引擎抛出语法错误。完全免费的示例:jsbin.com/azosam/1(查看 JavaScript 控制台,它会显示Uncaught SyntaxError: Unexpected token { 或类似名称)。有些浏览器在报告 JavaScript 错误方面非常微妙。所有应有的尊重,你可能只是没有注意到它。 :-) 试试 Chrome,按 F12 显示开发工具,然后单击控制台选项卡。或者,正如我所说,在将其提供给引擎之前进行预处理。
  • 如果它正在被预处理,view source 可以帮助找出后处理代码的样子。
  • 我还不确定。我试图通过某人向作者询问这件事。但还没有得到答案。得到答案后会告诉我情况...
【解决方案2】:

只是为了更新这个-它也是有效的 ES2015/ES6

MDN docs - template literals

let a = 4;
let b = 2;
console.log(`a is ${a} and b is ${b}`);

【讨论】:

  • 这似乎与 OP 的问题无关,因为它不是模板文字。
【解决方案3】:

在 Javascript 中,${} 用于将变量插入字符串。

var foo = "cheese";
console.log(`We want to eat ${foo}!`); // This needs the grave accent (`)
// Outputs "We want to eat cheese!"
console.log("We want to eat " + foo + "!"); 
// Outputs "We want to eat cheese!"

有时${} 方法可能比使用引号更快。

【讨论】:

  • 这似乎与 OP 的问题无关,因为它不是模板文字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-27
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
  • 2012-02-28
  • 2021-12-05
  • 2012-06-30
相关资源
最近更新 更多