网页包含三个层次:

  • 结构(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代码结构有以下好处:

  1. 见名知意,通过前缀可以知道这是一个公共方法。
  2. initDialog和destroyDialog方法在一个hash中,没有顺序关系。
  3. initDialog和destroyDialog方法在闭包之中,定义的变量不会影响到其他的代码。
  4. 方便调用,只要加载该文件即可调用。

web开发中,前端javascript代码的组织结构的更多相关文章

  1. web开发中 前端模板->JavaScript->Controller->JavaScript相应 的交互方式

    首先画张图了解当下流行的phpweb 数据交互套路: 1,模板与JavaScript的交互 给HTML标签赋予onlick事件,点击后触发js方法,jQuery收集页面信息,分析信息. 2,js与co ...

  2. Web开发中 前端路由 实现的几种方式和适用场景

    http://blog.csdn.net/xllily_11/article/details/51820909

  3. 移动Web 开发中的一些前端知识收集汇总

    在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么 ...

  4. Web 开发中应用 HTML5 技术的10个实例教程

    HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究.借助尖端功能,技术和 API,HTML5 允许你创建响应性.创新性.互动性以及令人惊叹的 ...

  5. web开发中目录路径问题的解决

    web开发当中,目录路径的书写是再常用不过了,一般情况下不会出什么问题,但是有些时候出现了问题却一直感到奇怪,所以这里记录一下,彻底解决web开发中路径的问题,开发分为前端和服务端,那么就从这两个方面 ...

  6. Web 开发中 9 个有用的提示和技巧

    在本文中,我们给出 9 个有用的 HTML.CSS 和 JavaScript 的技巧和提示,可能在做 Web 开发中经常会需要用到的,其中有几个是关于 HTML5 和 CSS3 的,如果你是一个前端开 ...

  7. SpringBoot学习(七)-->SpringBoot在web开发中的配置

    SpringBoot在web开发中的配置 Web开发的自动配置类:在Maven Dependencies-->spring-boot-1.5.2.RELEASE.jar-->org.spr ...

  8. 第123天:移动web开发中的常见问题

    一.函数库 underscoreJS _.template: <ol class="carousel-indicators"> <!--渲染的HTML字符串--& ...

  9. 彻底理解和解决移动WEB开发中CLICK点透问题

    在移动WEB开发中,有时候可能会出现点透问题,本文将围绕这个TAP点透问题,详细的讲述到底什么是点透,为什么会出现点透,如何避免出现点透,如果不可避免的出现了,如何解决解决移动WEB开发中CLICK点 ...

随机推荐

  1. java.io.Serializable浅析

    转自:http://www.cnblogs.com/gw811/archive/2012/10/10/2718331.html Java API中java.io.Serializable接口源码: p ...

  2. python学习笔记(sqlalchemy安装失败)

    博主今天折腾了一天sqlalchemy安装问题 下面是失败的截图 直接重新安装python2.7仍未解决此问题 最终在一国外论坛中找到解决的方法: 安装VC++对python的支持文件 VCForPy ...

  3. 互联网行业都缺前端工程师-最高offer薪水38k*16

    摘要:现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在.没错,优秀的前端工程师简直比大熊猫还稀少. 现在,几乎整个互联网行业都缺前端工程师,不仅在刚 ...

  4. leetcode reverse bits python

    Reverse Bits Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (re ...

  5. FFTW库在VS 2010中的使用方法

    一.FFTW库简介(from百度百科)       FFTW ( the Faster Fourier Transform in the West) 是一个快速计算离散傅里叶变换的标准C语言程序集,其 ...

  6. C# ref和out的区别

    首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...

  7. x86_64 Ubuntu 14.04 LST安装gcc4.1.2 转载

    由于编译源码软件需要用到gcc4.1.2版本,但是本机已经安装有gcc4.8.4,下载gcc4.1.2源码编译总会出现运行找不到库文件错误,或者i386和x86_64不兼容问题,在http://ask ...

  8. OSGI.NET mainfest.xml 配置

    在使用 OSGI.NET进行插件式的开发时,需要对 Mainfest.xml 进行配置, Mainfest 文件是插件的重要配置文件,其中暴露了插件启动方式以及插件启动时所依赖的程序集或其它资源的信息 ...

  9. ios开发之OC基础-oc小程序

    本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再 ...

  10. HTML+css实现图片全屏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...