我目前正在阅读“Javascript Web 应用程序”(O'Reilly,Alex MacCaw),很早就有一个代码片段,它可能看起来在 HTML 文档中执行 JS 函数,但它没有被<script>
标签包围:
// template.html
<div>
<script>
function doSomething(aParam) {
/* do stuff ... */
};
</script>
${ doSomething(this.someX) }
</div>
请有人能解释一下美元符号花括号符号吗?我目前正在学习 JS,但我以前从未见过这个,所以我假设它是代码执行的 JS 简写(如果是这样,为什么没有终止分号?),或者可能是一些专有的模板标记(Ruby ? PHP?),或者完全是别的什么?
非常感谢。
更新
事实证明,稍后在第 5 章(上述书)中,我们将介绍Javascript 模板。作者似乎假设读者在阅读本书之前已经遇到过这种模板技术。正如Stackoverflow 成员 Esailija所指出的,这本书不是Javascript 的初学者指南。我应该补充一点,我正在阅读这本书与“Javascript: The Good Parts”(O'Reilly,Douglas Crockford)等。
我半信半疑某种模板,但我没有考虑过纯 JS 模板。我过去使用过 PHP 和 RoR 框架,它们也使用类似的模板概念将模型数据注入视图。
最后一点:我阅读“Javascript Web 应用程序”的原因是它讨论了 JS 领域内的模型-视图-控制器 (MVC) 模式。虽然它提倡使用jQuery 库(以及其他库)来增强和加速开发,但它不是一本 jQuery API 书籍或另一个新的 JavaScript 包装器;相反,本书利用此类库(在适当的情况下)来处理跨浏览器 JS 的不一致性,同时将实际的 JS 最佳实践和模式引入到创建“Web 应用程序”中。