写了一个最简单的 js 模板引擎,直接贴代码
来源:互联网 发布:安卓蓝牙通信源码 编辑:程序博客网 时间:2024/06/08 04:19
<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <title>test</title> <script src="../js/jquery/jquery-3.1.1.js"></script></head><body><div id="ab"></div><script type="text/html" id="tpl"> {{ for(var i in data.users){ var user=data.users[i]; }} <p>{{r+=user.user;}}</p> {{ } }}</script><script> var data={users:[{user:'wym'},{user:'xjm'}]}; var tpl=$('#tpl').html(); var str=templet(tpl,data); $('#ab').html(str); function templet(tpl, data) { var code=""; var i; var b=0; var a=0; for(i=0;i<tpl.length-1;i++){ var c=tpl[i]; var d=tpl[i+1]; if(a===0&&c==='{'&&d==='{'){ if(b===0){ code+="var r='"+tpl.substring(b,i)+"';"; }else{ code+="r+='"+tpl.substring(b,i)+"';"; } b=i+2; i++; a=1; }else if(a===1&&c==='}'&&d==='}'){ code+=tpl.substring(b,i); b=i+2; i++; a=0; }else if(a===0&&c==='\n'){ if(b===0){ code+="var r='"+tpl.substring(b,i)+"\\n';"; }else{ code+="r+='"+tpl.substring(b,i)+"\\n';"; } b=i+1; } } code+="r+='"+tpl.substring(b,i)+"';return r;"; var fn=new Function("data",code); return fn(data); }</script></body></html>
阅读全文
0 0
- 写了一个最简单的 js 模板引擎,直接贴代码
- 写了一个简单实用的PHP模板引擎
- Epii.js 一个极其简单的Js模板引擎
- 自己动手写一个简单的php模板引擎
- 用js写一个模板引擎
- 简单的js模板引擎
- 一个简单的模板引擎
- 20多行js代码写一个最简单的3x3拼图游戏
- 用JAVA写了一个简单的JS代码格式化工具
- 最简单的JavaScript模板引擎
- 最简单的JavaScript模板引擎
- 自己写的一个jquery模板引擎
- 一个自己写的PHP模板引擎
- 【分享/转】用js写一个模板引擎
- 简单实用的js模板引擎
- PHP模板引擎Smarty(一)Smarty下载、配置、一个最简单的应用示例
- 最简单的JS模版引擎
- 分享一个简单的python模板引擎
- 2017年浙江中医药大学大学生程序设计竞赛-D:CC的神奇背包(思维)
- ObjectAnimator设置动画
- 传统机器视觉相关知识点汇总
- Android 安卓使用VideoView播放本地视频
- 多目标跟踪:Simple Online and Realtime Tracking with a Deep Association Metric 2017 (deep-sort)
- 写了一个最简单的 js 模板引擎,直接贴代码
- 排序算法——堆排序
- bzoj 2724: [Violet 6]蒲公英 区间众数 分块
- oracle最大连接数、连接信息
- Maven依赖传递
- jsp前台分页逻辑
- 30 hash function(学自Boolean)
- java8
- 网狐荣耀点分享后点击出现“登录微信失败,系统出错,错误码1”的解决办法