更新时间:2022-08-29 来源:黑马程序员 浏览量:
前端开发有时候避免不了要在JavaScript代码中插入HTML代码,插入的代码比较多时,在以后的编辑中容易出现问题,例如,一不小心可能漏掉某个双引号、加号导致语法错误等,为了将它们剥离开,诞生了JavaScript模板。
Underscore是一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。下面介绍的template是Underscore提供的一个实用功能——模板引擎,template功能将JavaScript模板编译为可以用于页面呈现的函数,通过JSON数据源生成复杂的HTML并呈现出来。
模板函数的使用语法如下:
_.template(templateString, [settings])
在上述语法中,templateString参数通常是字符串,模板函数可以使用<%= ...%>插入变量,也可以用<%...%>执行任意的JavaScript代码。如果要想在模板中插入一个值,并让其进行HTML转义,可以使用<%-...%>。具体用法如下:
(1)赋值:
var compiled = _.template("hello: <%= name %>"); compiled({name: 'moe'}); => "hello:moe"
上述语法中,使用_.template()函数定义了一个变量name,然后compiled()函数用于向name属性注入数据'moe'。
(2)需要转义:
var template = _.template("<b><%- value %></b>"); template({value: '<script>'}); => "<b><script></b>"
在上述语法中,插入值'<script>',并且成功转义为'<script>'。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19