原生JS实现简易模板
来源:互联网 发布:矩阵纵横 编辑:程序博客网 时间:2024/06/05 07:33
原生JS实现简易模版
String.prototype.renderTpl = function (obj) { var myself = this; var render = ''; var source = this.toString(); if (Object.prototype.toString.call(obj) === '[object Array]') { obj.forEach(function (item) { render += myself.renderTpl(item); }); } else if (typeof obj === 'object') { for (var i in obj) { if (typeof obj[i] !== 'function') { var patt = new RegExp("{{\\s*\\$" + i + "\\s*}}", "g"); source = source.replace(patt, obj[i]); } } render += source; } return render;};// 举个栗子// 模板var tmp = "{{ $id }}---{{ $name }}\n";// 值var val = [ {'id': 1, 'name': 'a'}, {'id': 2, 'name': 'b'}, {'id': 3, 'name': 'c'}];// 渲染console.log(tmp.renderTpl(val));// 渲染结果为/* 1---a 2---b 3---c*/
阅读全文
0 0
- 原生JS实现简易模板
- 简易JS模板引擎
- 模板实现简易stack
- 模板实现简易queue
- 原生JS实现轮播图
- 原生js实现Ajax
- 原生js实现ajax
- 原生JS实现Ajax
- 原生js实现ajax
- js原生 实现分页
- Js原生实现轮播图
- 原生JS实现split()
- 原生js实现轮播图
- 原生js实现评论
- 原生js实现Ajax
- 原生JS实现轮播图
- 原生js实现计算器
- 原生js实现Ajax
- oop设计原则-单一原则
- Mybatis+Spring如何自动将sqlsessonFactory实例注入每个代理mapper中?
- 新手村 循环 小鱼的航程
- org.apache.hadoop.hdfs.server.namenode.SafeModeException
- sockaddr和sockaddr_in的区别(转载)
- 原生JS实现简易模板
- mybatis关系映射之一对多和多对一
- hostapd_cli
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- 压缩感知算法实现的曲折
- 给 Android 开发者的 RxJava 详解
- JQUERY barcode 生成条码,可以配置大小颜色
- 面试题目
- Jgit实现克隆,切换分支,提交操作