视频地址:http://e.youku.com/v/course/play?coid=6487&chid=86761
WEB单页应用的重要语法基础
变量作用域:变量的有效范围或者作用范围。(局部变量,全局变量)
变量作用域链:变量在当前环境向当前环境内部的函数内部传递
闭包:将一个局部变量的向外层环境传递的特殊实现方式。借以突破局部变量的限制。
-
变量提升:在后面声明的代码中的声明部分,可以在执行时提升到最开始的位置。
var test = 1; function myfunc(){ alert(test); var test = 2; }
-
自执行函数:自动执行而不需要正常调用的函数,js中匿名函数的特殊使用方式。自执行函数并不是没有调用,而是在圣光明之后调用。
(function(形参){ })(实参);
-
模块模式:自执行函数的应用,主要用于较多模块划分的成功开发当中。
var 变量=(function(){ return 结果; })();
单页应用架构
一、shell在架构中的作用
shell是单页应用的主控制器,是框架中必须的。
主要负责的内容:
部署单页应用整体形状和结构(其实就是输出html页面)
初始化所有功能模块。
管理应用的cookie或者URI处理
该模块被根文件调用功能模块在架构中的作用
功能模块是单页应用中每个独立功能的集合。(不包含业务逻辑)
功能模块主要负责:
部署当前功能模块的html渲染和生成(css已经预选加载,不再此处处理)
为当前模块的元素添加事件,绑定事件处理方式
该模块被shell模块调用Model模块在架构中的作用
Model是为当前单页应用所有数据提供模型和操作的代码集合。
主要负责的内容:
构建和设计所有功能模块使用的业务逻辑对象。例如:用户对象:添加用户,删除用户,修改用户等
调用Data实现Model中的业务逻辑操作
该模块功能被shell中的指定功能模块调用Data模块在架构中的作用
Data是提供前端和后端进行数据通讯的必备模块
主要负责的内容:
获取和设置通讯使用的功能对象和方法
该模块功能被Model调用服务器选择NodeJS
Node.js是一个平台,使用的是javascript语言,作为服务器语言使用
Node.js的优点
服务器就是应用。前台后台一块玩
node.js使用和前端一样的javascript语法,非常方便,数据相同,处理方便
node.js是事件驱动和非阻塞的,可以支持大并发数据操作。
Node.js轻量高效,运行效率高
node.js得到了广泛的支持,各种框架和驱动都非常丰富!Node.js的缺点
可靠性低
单进程,单线程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
不过以上缺点可以可以通过代码的健壮性来弥补。
APP 开发中每个模块的模式基本固定
var 模块=(function(){
var 配置信息={
}
var jQuerySet缓存DOM的集合={
}
var initModule=function(){
}
var 方法1=function(){
}
var 方法2=function(){
}
var 方法3=function(){
}
return{
返回当前模块的公开方法。
公开方法:方法1,
公开方法:方法2,
公开方法:方法3,
......
公开方法:初始化方法 //必须的
}
}());