目录
(一)有关框架
(二)文件组织与代码组织
(三)JS与FLASH交互
(四)ajax局部刷新与RPC
(五)获取设置元素样式与监听元素事件
(六)页面元素的创建调整与关联
(七)浏览器兼容性问题
(八)WEB软件的前端架构实践
文章中的代码只为表达文章意义,非真正能执行的代码。
现在公司的文件组织结构就不列举了,有点儿乱,有不能算理由的历史原因和不严谨的因素
,要整。我的重整方案:
文件组织
一、自己开发的代码
文件命名:与类的名字一样,如有MessageBox类,则文件名也为MessageBox,当然前提是没有在一个文件里放两个类,这个目前做到了。
文件夹命名:
小写,与命名空间一致:
jsroot--comm------util-------v1_0------Cookie.js
| |
| ui-------v2_0------MessageBox.js
|----------Comm.js (定义公用库的shortname)
|
app----------user----- User.js
| |---------Profile.js
| |---------IconEdit.js
| |---------Relation.js
|
|-------- space-----Share.js
|----------MyApps.js
遵行的规则如下:
- 公用的类库(与具体业务逻辑无关)放到comm目录下,公用代码区分版本
- 业务逻辑放到app目录下,app目录下是各模块的文件夹,模块下如果还有子模块,继续建立子模块文件夹
- 业务逻辑代码不区分版本
二、第三方库:
jsroot--vendor----jQuery---v1_2_4----jQuery-1.2.4.min.js
| |
| |--------plugin----imagAreaSelect-----v0_9_2_3----[lib all files]
|
|---------firebug---v1_0----firebug-lite-compressed.js
遵行的规则如下:
- 建立版本号文件夹,版本号中的.转为_表示,版本号前加小写字母v
- 如果某个第三方库为依赖于某个框架,则放到此框架根目录之下,不必放到依赖的版本之下
- 下载到的第三方库文件原样全部直接放到版本号文件夹下,不重命名原来的文件或文件夹,包含的css,images文件夹也保持原样。这样做目的是为了保持原样。
三、文件混淆与压缩
工具
用过两种:
金大为的
JSA:可配置ANT来批量压缩,会进行脚本分析,采用
JSI来管理脚本的话,就用JSA
yui-compressor:可在命令行下运行,我写了RUBY脚本来批量压缩,参见
自动批量压缩JS和CSS
有关压缩脚本的存放位置
我们的SVN静态目录结构是这样的
static------js
|---js_min
|---css
|---css_min
把源和压缩目录分开,而不是放到一起,有以下好处
- 源文件不与压缩文件放一起,很清爽
- 模板中定义一个文件夹的变量,通过更改它便可切换源目录与压缩文件目录
代码组织
一、命名空间的实现
参见实现javascript的namespace声明
//example
(function(user){
user.User = function(){
//code ...
}
})(ibm.namespace("ibm.app.user"))
二、变量命名规范
- 全局变量以$开头,如$user
- 常量全部大写,单词以下划线分隔,如STATIC_ROOT
- 变量采用驮峰式写法,如userIcon,UserRelation
- 类名首字母大写
- 普通变量、命名空间,首字母小写
- 局部变量可缩写,命名空间,类名尽量不缩写
- 条件表达式、正则表式式,如果很复杂,给其命名
三、页面中代码的载入
原则
只在主页面中写初始化的代码
!!!坚决不在主页面中嵌入脚本,
!!!坚决不在ajax载入的HTML片段里面嵌入脚本,载入后要执行代码,可以写在 回调里面
主面页
在顶部我们只载入了两个JS,一个是swfobject.js,一个是Comm.js,这两个文件都很小
在comm.js中我们定义了一个ready方法,功能类似jQuery(document).ready。其他的脚本全部放到了页面最底部。
<head>
<script type="javascript" src="Comm.js"></script>
<script type="javascript" src="swfobject.js"></script>
</head>
<body>
<script type="javascript" src="1..n"></script><!--其他脚本-->
<script>
$BASE_URL = {
static: <?php ?>,
user: <?php ?>
}
jQuery(document).ready(function(){
comm.init(); //按顺序执行传给comm.ready()的方法;
})
</script>
</body>
<html>
ajax载入的HTML片段中要用到的脚本,大致做法如下
function loadHTML(target, src, js){
Comm.importJs(js, function(){
jQuery(target).load(src);
})
}
项目很大,依赖关系复杂
用JSI来管理和导入你的脚本,SO EASY!参见
JSI专栏。
分享到:
相关推荐
直接使用函数是一种简单的代码组织方式。这种方式适用于较小的项目或功能模块。通过直接编写函数并在适当的位置调用它们,可以避免全局变量的污染,提高代码的整洁度。例如: ```javascript function greet(name) {...
1. **代码结构**:了解代码是如何组织的,包括文件和目录的布局,以及模块化的实现方式(如CommonJS, ES6模块)。 2. **变量与数据类型**:观察作者如何声明和使用变量,以及对不同数据类型(如字符串、数字、数组...
函数则是组织代码的模块,可以接收参数并返回值。 接着,深入理解DOM(Document Object Model)操作是JavaScript的重要部分。DOM是HTML或XML文档的树形结构表示,通过JavaScript可以添加、删除、修改元素,实现页面...
至于压缩包内的"javaScript打飞机"文件,这很可能是整个游戏的源代码文件,可能包含HTML文件(用于构建游戏界面)、CSS文件(用于样式设计)和多个JavaScript文件(分别负责不同的游戏功能)。打开这个文件,我们...
通过阅读和分析这些源代码,你可以了解到如何组织和编写JavaScript代码,如何操作DOM,以及如何使用事件处理程序。此外,还可以学习到如何结合CSS和JavaScript实现更复杂的动态效果。在实际项目中,这样的技能将非常...
前端开发技术分享是指前端开发中的文件组织和代码组织,而文件组织是指静态文件的管理和组织。前端开发主要用到HTML/CSS/Javascript这三种语言,它们的发展和在实际应用中的复杂度和代码量的提高,使得文件组织变得...
在本教程中,JavaScript文件可能以.js结尾,用于处理用户输入、改变页面内容或与其他Web服务进行通信。理解JavaScript的基本语法、DOM操作和事件处理是网页开发的关键技能。 在实践中,HTML、CSS和JavaScript常常...
例如,一个Web应用可能有HTML文件负责页面结构,CSS文件处理样式,而JavaScript文件则处理交互逻辑。在软件工程中,良好的代码组织有助于团队协作和代码维护。 代码文件还需要遵循一定的编码规范,如命名规则、注释...
特别是在使用jQuery时,如何有效地组织代码,使其既易于维护又具有良好的可读性,成为了前端开发者们关注的重点。本文档将探讨在jQuery框架下如何组织JavaScript代码,尤其是通过函数化的方式来提升代码质量和可维护...
HTML 无限极组织结构前端代码是一种用于展示层次关系数据的技术,常见于企业组织架构、文件系统或产品分类等场景。这种技术允许用户以树形结构查看数据,而且能够无限制地进行子节点的添加和扩展,提供了一种直观且...
1. **外部脚本引入**:`<script language="JavaScript" type="text/JavaScript" src="../zb/date.js"></script>` 这一行代码表明了从外部引入了一个名为`date.js`的JavaScript文件,该文件可能包含了与日期处理相关...
JavaScript树结构是一种在Web开发中常用的数据展示方式,它能够以层级关系呈现复杂的数据,尤其适合于展现具有分层结构的目录、组织架构或者文件系统。在这个“javascript树源代码”中,开发者利用XML作为数据源来...
模块系统允许开发者将代码组织成独立的模块,方便复用和管理。事件驱动模型则使得Node.js能高效地处理并发请求,通过事件循环和回调函数,非阻塞I/O操作得以实现,这在处理大量并发连接时具有显著优势。 除了Node....
"从入门到精通javascript全部代码"这个资源旨在帮助初学者逐步掌握JavaScript,并通过实际代码示例深入理解其核心概念。 首先,JavaScript的核心知识点包括变量、数据类型、控制结构(如条件语句和循环)、函数、...
这类工具可以帮助开发者检查代码质量、性能、错误,或者将JavaScript代码转换为其他格式,如浏览器可执行的捆绑文件。 `7880.com.txt` 文件名暗示这可能是一个文本文件,其中可能包含了网址7880.com的相关信息,...
总结来说,这个压缩包提供的"HTML5_CSS3_javascript 源代码"很可能是为了帮助学习者理解和掌握现代Web开发的核心技术。通过深入学习这些源代码,可以了解如何利用HTML5构建结构化的网页,用CSS3实现美观且响应式的...
首先,`organization.js` 文件很可能是包含组织结构图绘制逻辑的核心代码。在JavaScript中,我们可以通过创建自定义对象或者使用现成的数据结构(如树或图)来表示组织结构。通常,组织结构图的数据源可以是JSON格式...
总结来说,"vs2010 javascript代码折叠扩展插件"是一款专为Visual Studio 2010设计的工具,它提升了JavaScript代码的编辑体验,特别是对于ASP.NET开发者。通过代码折叠功能,开发者能够更好地管理和阅读代码,进而...
因此,合理地组织和合并JavaScript文件至关重要。 需要注意的是,引用外部JavaScript文件时,路径必须正确。相对路径适用于在同一目录结构中的文件,而绝对路径则适用于跨域或不同目录结构的情况。 总结起来,...
2. "132692138376028757" - 这个文件名看起来像是一个随机生成的数字或时间戳,可能是JavaScript代码文件、数据文件(例如JSON格式的员工数据)或者是一个图片文件,用于显示组织结构图的图标或背景。具体的用途需要...