1.前言

有时候,我们需要生成多个字符串,但是多个字符串中大量内容完全相同,只有少量关键部分发生改变,这时就可以借助于Template对象了。创建 Template对象通过下面构造器完成。

1)        Tempate(pattern):传入一个pattern字符串创建Template对象,pattern字符串中可使用#{var}形式的变量。

2)        evaluate(obj):将obj对象的属性值合并到Template的pattern字符串生成实际字符串。

2.例子

<!DOCTYPE html>
<html>
<head><meta name="author" content="owenwilliam" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> 使用Template </title>
</head>
<body>
<script src="../../prototype.js" type="text/javascript">
</script>
<script type="text/javascript">
objArr = [{book:'大型网站技术架构+' , author:"智慧"},{book:'架构探险' , author:"黄勇"},{book:'轻量级Java EE企业应用实战' , author:"李刚"}
]
var template = new Template("书名是《#{book}》 , 作者是:#{author}.");
for (var i = 0 ; i < objArr.length ; i++ )
{document.writeln(template.evaluate(objArr[i]) + "<br />");
}
</script>
</body>
</html>

3.运行结果

Prototype使用Template相关推荐

  1. Prototype源码浅析——Function.prototype部分(一)

    最近学习都是自己想到什么就些什么,这样进步也不明显,于是偶尔也看看Prototype的源码,分析分析也算笔记. 记得以前看jquery的源码的时候,网上一搜,源码分析一堆,不过透过表面看实质,大部分都 ...

  2. Ruby中的设计模式

    继续 上 节讲述过的Singleton . Proxy 及 Iterator各模式,本节再来考察几个别的设计模式.下面按顺序来考察 Prototype . Template Method 和 Obse ...

  3. 2018年,JavaScript都经历了什么?

    摘要: 对JSer来说,这是很有意思的1年. 本文灵感来自JavaScript Weekly周报,欢迎大家订阅. The State of JavaScript 2018 The State of J ...

  4. 1897个D3 例子

         1.113th U.S. Congressional Districts 2.The Story of the Season  3.20000 points in random motion ...

  5. sdm636-mtp驱动_NodeMCU简单驱动程序模型(SDM)展示:动态用户界面

    sdm636-mtp驱动 NodeMCU is an interactive firmware, which allows running Lua interpreter on the ESP8266 ...

  6. mobiscroll 破解

    废了半天劲,总算把这东西破解了. 按照网上主流方法,搜索_processItem 把相关的代码都删除 如果是append(x_processItem)改成append() 如果是字符串拼接,直接把_p ...

  7. 设计模式之模板方法模式(Template Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  8. 设计模式之原型模式(Prototype)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.FactoryMethod(工厂方法模式):2.Abstract Factory(抽象工厂模式):3.Sin ...

  9. Underscore _.template 方法使用详解

    为什么80%的码农都做不了架构师?>>>    https://github.com/hanzichi/underscore-analysis/issues/26 前文 浅谈 Web ...

  10. Ajax (部分二:prototype.js代码)总结页面向后台传Form值、单个值和后台向前台传一个或是一组值...

    2019独角兽企业重金招聘Python工程师标准>>> 附录prototype.js的代码: Prototype = {Version: '1.5.1_rc4',Browser: { ...

最新文章

  1. linux平台调试终端,10款Linux平台上优秀的调试器,总有一款适合你!
  2. 生态统计学里的数据转化与标准化
  3. linux内存管理与设计,深入理解Linux内存管理机制(一)
  4. spring 链接池
  5. SAP License:生产订单结算时候的几个差异
  6. Spring 整合 Disruptor 第一个版本
  7. oracle 12g 无监听,Oracle 12.2监听无法启动解决一例
  8. python 北上资金_如何查看北向资金? 什么是北向资金 在股市里面,南代表的是HK,北代表的是大陆。北向 = 从南向北流动,那么北向资金就很好理解了,就是HK的... - 雪球...
  9. redhat7 linux修改语言,RedHatLinux7.1中语言化完全攻略(二)
  10. SqList *L 和 SqList * L的区别
  11. IDM插件安装、使用方法教程
  12. 【Unity】【Odin Inspector】关于AOT Generation
  13. 从零实现一个3D建模软件
  14. 什么是 CDN 边缘服务器 - Edge Server
  15. JPEG中Huffman解码实例讲解
  16. excel模板报表转PDF下载
  17. java 在线excel_开源Excel在线协同工具
  18. 区块链之imToken上架资产详解
  19. 熟悉又陌生的 k8s 字段:finalizers
  20. 日本語トレーニング44

热门文章

  1. 通过javascript 函数的调用方式来理解this
  2. Unity3D之Assetbundle
  3. windows phone (24) Canvas元素A
  4. Sqlite使用简单教程
  5. poj 1164(DFS)
  6. 歌声带着失意囚徒的梦想直入云霄
  7. WLAN通信基础——WLAN物理层通信技术
  8. TCP为什么避免测量重传报文段SampleRTT;TCP为什么等到三个重复的ack后才快速重传
  9. linux下常用的文本转换命令1(tr)
  10. OpenCV——Sobel和拉普拉斯变换