Javascript 页面模板化 ——大部分人没有使用过的方法
2012-06-05 22:25
246 查看
介绍
今天遇到一个问题,这个问题也是我以前遇到的问题,以前的方式,也是大多数人使用的方式。大家可以看看我的文章。
从前的方式——我估计也是大多数人使用的方式
比如以下的代码——摘自新浪首页的一段js代码,这种方式也是大多数人使用的方式。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522260541.png)
上面的代码,你看完有什么反应?你也许会把+=这种形式改成数组的push形式,有人说push比这种字符链接要快,但是也快不了多少。
如果这种嵌入的html代码很多,你也要这样处理吗?如果修改(添加或者删除)某个html,那么你就要不断的翻代码,找对应的标签,然后在找结束标签,你不觉得麻烦吗?也许有人会这样写(这个是我早期写的,也是我最惯于使用的方式)。
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012060521524873.png)
上面的代码,我维护起来也是非常费劲的,很多时候如果ui那边添加了个标签,或者修改了下html结构,那我就头疼了。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522190939.png)
页面模板化——全新的方式
这是我最近看了facebook的js代码,偶然间发现以下的方式看起来不错,希望与大家分享。
看我的index.html代码
![](http://pic002.cnblogs.com/images/2012/152332/2012060522001419.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
看我的js代码
![](http://pic002.cnblogs.com/images/2012/152332/2012060522023720.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
今天偶然间发现这种方式更加合理,因为那个for循环看着太闹心了
![](http://pic002.cnblogs.com/images/2012/152332/2012060609462896.png)
维护上面的html代码我们是很容易的,下次无论html代码结构有什么变动,改起来都很方便。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522234218.png)
后期修复
昨天我项目中需要条件筛选功能,所以我又做了一个if语法解析的功能。
亮代码:
![](http://pic002.cnblogs.com/images/2012/152332/2012060708133765.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
对应方法
![](http://pic002.cnblogs.com/images/2012/152332/2012060708152326.png)
首先很感谢大家的宝贵意见,现在就一些评论而发,大家勿见怪,没有对大家评论不满的意思。
1、很多人都说已经有这种代码框架了,但是我觉得为了几个简单功能用这么庞大的框架。而且我们现有的代码外层已经有框架了,也许是jquery,也许是prototype.js,而且又把这种框架拿过来,这是何等的代码量!
2、我希望大家平时最好不要有复制代码的习惯,最好是重新code一遍,即便是自己的代码。——所以我一直用图片方式的原因。
3、我的代码没有必要整个都拿过去,你可以把上面的两个方法拿过去放在自己的代码中,就能用了。——你也可以自己修复一下代码。
总结
上面的代码有很多问题,大家不要见怪,这个只是我的简易版。
当前的模板只支持简单的变量替换,if标签。如果大家有兴趣,可以试着运行一下,如果做的比较成功,告知一下。
推荐
![](http://pic002.cnblogs.com/images/2012/152332/2012050707292019.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012053009193533.png)
分享到腾讯微博
今天遇到一个问题,这个问题也是我以前遇到的问题,以前的方式,也是大多数人使用的方式。大家可以看看我的文章。
从前的方式——我估计也是大多数人使用的方式
比如以下的代码——摘自新浪首页的一段js代码,这种方式也是大多数人使用的方式。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522260541.png)
上面的代码,你看完有什么反应?你也许会把+=这种形式改成数组的push形式,有人说push比这种字符链接要快,但是也快不了多少。
如果这种嵌入的html代码很多,你也要这样处理吗?如果修改(添加或者删除)某个html,那么你就要不断的翻代码,找对应的标签,然后在找结束标签,你不觉得麻烦吗?也许有人会这样写(这个是我早期写的,也是我最惯于使用的方式)。
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012060521524873.png)
上面的代码,我维护起来也是非常费劲的,很多时候如果ui那边添加了个标签,或者修改了下html结构,那我就头疼了。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522190939.png)
页面模板化——全新的方式
这是我最近看了facebook的js代码,偶然间发现以下的方式看起来不错,希望与大家分享。
看我的index.html代码
![](http://pic002.cnblogs.com/images/2012/152332/2012060522001419.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
看我的js代码
![](http://pic002.cnblogs.com/images/2012/152332/2012060522023720.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
今天偶然间发现这种方式更加合理,因为那个for循环看着太闹心了
![](http://pic002.cnblogs.com/images/2012/152332/2012060609462896.png)
维护上面的html代码我们是很容易的,下次无论html代码结构有什么变动,改起来都很方便。
![](http://pic002.cnblogs.com/images/2012/152332/2012060522234218.png)
后期修复
昨天我项目中需要条件筛选功能,所以我又做了一个if语法解析的功能。
亮代码:
![](http://pic002.cnblogs.com/images/2012/152332/2012060708133765.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012052511415738.png)
对应方法
![](http://pic002.cnblogs.com/images/2012/152332/2012060708152326.png)
首先很感谢大家的宝贵意见,现在就一些评论而发,大家勿见怪,没有对大家评论不满的意思。
1、很多人都说已经有这种代码框架了,但是我觉得为了几个简单功能用这么庞大的框架。而且我们现有的代码外层已经有框架了,也许是jquery,也许是prototype.js,而且又把这种框架拿过来,这是何等的代码量!
2、我希望大家平时最好不要有复制代码的习惯,最好是重新code一遍,即便是自己的代码。——所以我一直用图片方式的原因。
3、我的代码没有必要整个都拿过去,你可以把上面的两个方法拿过去放在自己的代码中,就能用了。——你也可以自己修复一下代码。
总结
上面的代码有很多问题,大家不要见怪,这个只是我的简易版。
当前的模板只支持简单的变量替换,if标签。如果大家有兴趣,可以试着运行一下,如果做的比较成功,告知一下。
推荐
![](http://pic002.cnblogs.com/images/2012/152332/2012050707292019.png)
![](http://pic002.cnblogs.com/images/2012/152332/2012053009193533.png)
分享到腾讯微博
相关文章推荐
- Javascript 页面模板化 ——大部分人没有使用过的方法
- Javascript 页面模板化很多人没有使用过的方法
- javascript 在没有找到何时的脚本管理框架前, 使用如下方式在页面上使用脚本
- asp.net中倒计时自动跳转页面的实现方法(使用javascript)
- 使用Javascript实现跳转页面和打开新窗口的方法
- 有以下几种方法可以使用非阻塞方式下载 JavaScript,提快页面加载
- JavaScript中使用createDocumentFragment方法避免频繁刷新页面
- asp.net中倒计时自动跳转页面的实现方法(使用javascript)
- 使用简单的javascript代码避免页面的重复提交(没有加入提交代码)
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
- 使用动态JavaScript实现多级菜单联动时不刷新页面的方法
- Javascript中使用对话框,在对话框关闭时刷新前页面的方法
- Javascript访问Cookie的四个基本方法无论是在创建页面还是构建对象都会使用到,单独拿出来备用:
- 使用JavaScript异常在页面显示错误提示的方法
- JSP动态生成页面中使用JavaScript消除里面没有信息的div等元素
- JavaScript页面打印的若干使用方法
- 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题
- Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法
- Myeclipse中文件已经上传到server文件夹下,文件也没有被占用,可是页面中无法读取和使用问题的解决方法