我目前正在阅读 'Javascript Web Applications' (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 Applications'的原因是它讨论了JS领域中的模型-视图-控制器(MVC)模式。虽然它提倡使用jQuery库(其中之一)来增强和加速开发,但它不是一个 jQuery API书或另一个新的JavaScript包装器;相反,这本书利用这些库(在适当的情况下)来解决跨浏览器JS不一致性问题,同时营造实际的JS最佳实践和模式,以创建"Web应用程序"。