web开发中,前端javascript代码的组织结构
网页包含三个层次:
- 结构(HTML)
- 表现(CSS)
- 行为(javascript)
web标准中,三者要分离,网页源代码由三部分组成:.html文件、.css文件和.js文件。就是说html文件中不应该含有CSS样式和javascript代码。
这里讨论一下javascript的一种组织结构。
//fw.js
var fw = {
page: {
index:{},
user:{}
},
common: {
dialog: {},
table:{}
},
}
首先定义一个顶级的变量fw,fw是一个hash变量。page中存放的是单个页面的javascript代码,比如index页面和user页面。common中存放的是通用的方法,用于dialog相关的和table相关的。他们目前都是空对象,这边仅仅只是定义一个结构。
//dialog.js
fw.common.dialog = function () {
return {
initDialog: function () {
//这里是具体的方法细节
}, destroyDialog: function () {
//这里是具体的方法细节
}
}
}();
接着要实现一个初始化dialog的通用方法 fw.common.dialog 的初始值是{},这里将它的值修改。定义一个匿名方法,并立即执行它,返回值是一个hash对象,hash对象中的key是initDialog,值是一个匿名方法。可以这么调用这个方法,
fw.common.dialog.initDialog();
这么组织javascript代码结构有以下好处:
- 见名知意,通过前缀可以知道这是一个公共方法。
- initDialog和destroyDialog方法在一个hash中,没有顺序关系。
- initDialog和destroyDialog方法在闭包之中,定义的变量不会影响到其他的代码。
- 方便调用,只要加载该文件即可调用。
web开发中,前端javascript代码的组织结构的更多相关文章
- web开发中 前端模板->JavaScript->Controller->JavaScript相应 的交互方式
首先画张图了解当下流行的phpweb 数据交互套路: 1,模板与JavaScript的交互 给HTML标签赋予onlick事件,点击后触发js方法,jQuery收集页面信息,分析信息. 2,js与co ...
- Web开发中 前端路由 实现的几种方式和适用场景
http://blog.csdn.net/xllily_11/article/details/51820909
- 移动Web 开发中的一些前端知识收集汇总
在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么 ...
- Web 开发中应用 HTML5 技术的10个实例教程
HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...
- web开发中目录路径问题的解决
web开发当中,目录路径的书写是再常用不过了,一般情况下不会出什么问题,但是有些时候出现了问题却一直感到奇怪,所以这里记录一下,彻底解决web开发中路径的问题,开发分为前端和服务端,那么就从这两个方面 ...
- Web 开发中 9 个有用的提示和技巧
在本文中,我们给出 9 个有用的 HTML.CSS 和 JavaScript 的技巧和提示,可能在做 Web 开发中经常会需要用到的,其中有几个是关于 HTML5 和 CSS3 的,如果你是一个前端开 ...
- SpringBoot学习(七)-->SpringBoot在web开发中的配置
SpringBoot在web开发中的配置 Web开发的自动配置类:在Maven Dependencies-->spring-boot-1.5.2.RELEASE.jar-->org.spr ...
- 第123天:移动web开发中的常见问题
一.函数库 underscoreJS _.template: <ol class="carousel-indicators"> <!--渲染的HTML字符串--& ...
- 彻底理解和解决移动WEB开发中CLICK点透问题
在移动WEB开发中,有时候可能会出现点透问题,本文将围绕这个TAP点透问题,详细的讲述到底什么是点透,为什么会出现点透,如何避免出现点透,如果不可避免的出现了,如何解决解决移动WEB开发中CLICK点 ...
随机推荐
- 检测网页是否可以打开, 再使用IE打开网页
//检测是否能连接网页 BOOL CanLinkWebPage(string strUrl) { /*clock_t start, finish; double duration; start = c ...
- CInternetSession CHttpFile Post提交数据
//给指定url发请求, 返回请求后的结果 string CAutoPatchDlg::SendURLPost(string strServerName, string strFormActionUr ...
- 联系博主(推介联系QQ)
李莫,OI 蒟蒻一只 QQ:740929894 邮箱:12958954@163.com limo740929894@gmail.com (目测国外网站的邮件发不进网易邮箱,所以注册了个Gmail,但是 ...
- 基础字符串处理_C++
C++中,有 char [ ] 和 string 两种方式处理字符串 char 数组是最原始的,string 是带迭代器的 正是这种 string 带了迭代器,它会使我们处理字符串很方便,但也十分慢 ...
- Android开发-API指南- Calendar Provider
Calendar Provider 英文原文:http://developer.android.com/guide/topics/providers/calendar-provider.html 采集 ...
- Flex4+BlazeDS+JAVA+MySql 构建J2EE工程 对用户信息进行管理实例
要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...
- 查看linux占用内存/CPU最多的进程
可以使用一下命令查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 可以使用一下命令查使用CPU最多的10个进程 ps -aux | sort -k3nr ...
- 再看.net本质(二)
3.[HTTP协议] 当浏览器寻找到Web服务器的地址之后,浏览器将帮助我们把对服务器的请求转换为一系列参数发送给Web服务器.服务器收到浏览器的请求对数之后,将会分析这些数据并进行处理,然后向浏览 ...
- MVC中使用过滤器记录异常日志
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Filte ...
- 部署Ossim
650) this.width=650;" title="29-1.jpg" alt="095310750.jpg" src="http:/ ...