JavaScript富应用MVC MVVM框架
摘要:对框架的挑选 Ember.js、Backbone.js、Knockout.js、Spine.js、Batman.js , Angular.js1. 轻量级的应用选择哪一个会比较好?2. 那一个比较简单,容易上手3. 哪一个开发周期最短?具体可以看 (英) Rich JavaScript Applications – the Seven Frameworks Web前端开发:为何选择MVVM而非MVC由于工作关系~一直没时间细细研究下这些框架的源码~ 早期就看过Backbone.js与EXT4的MVC最近开始研究业界小有名气司徒正美的mvvm框架avalon 为什么放着Angular,Ember
阅读全文
posted @
2013-06-22 10:52
【艾伦】
阅读(7073)
推荐(7) 编辑
给模型添加ORM,与持久化记录
摘要:var Model = { inherited:function () { }, created:function () { }, prototype:{ init:function () { } }, //给类添加属性 extend:function (obj) { var extended = obj.extended; for (var i in obj) { this[i] = obj[i]; } if (extended) exte...
阅读全文
posted @
2012-08-24 16:32
【艾伦】
阅读(373)
推荐(1) 编辑
原型继承
摘要:if (typeof Object.create !== "function") { Object.create = function (o) { function F() { } F.prototype = o; return new F(); }}var Model = { inherited:function () { }, created:function () { }, prototype:{ init:function () { } }, cre...
阅读全文
posted @
2012-08-24 15:48
【艾伦】
阅读(358)
推荐(1) 编辑
"ORM"
摘要:ORM是什么?对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。对象-关系映射(O
阅读全文
posted @
2012-08-24 15:12
【艾伦】
阅读(505)
推荐(1) 编辑
自定义事件
摘要:/** * 事件对象 * bubbles 表示事件是否通过DOM已冒泡形式触发 * * button 如果有鼠标按下的按钮 * * altKey Alt键 * * shiftKey shift * * meate Meate * * isChar 当前按下的键是否标示一个字符 * * charCode unicode值 (仅对keypress) * * keyCode 非unicode * * which * * pageX,pageY 事件发生时相对于页面(viewprot) 的坐标 * * screenX screeY * * currentTarget ...
阅读全文
posted @
2012-08-24 14:50
【艾伦】
阅读(343)
推荐(1) 编辑
控制 "类" 库的作用域
摘要:/** * 1 .函数调用返回时undefinde ,执行上下文是window * 2. new 构造,执行上下文从全局对象变成一个空的上下文,这个上下文代表新生的实列 * 因此this关键字指向当前的实例 * * 3. 默认情况下,构造函数没有返回,默认返回this,否则返回任意非原始的类型值 * * **///兼容bind方法if (!Function.prototype.bind) { Function.prototype.bind = function (obj) { var slice = [].slice, args = sl...
阅读全文
posted @
2012-08-24 14:23
【艾伦】
阅读(393)
推荐(1) 编辑
"类" 库添加继承
摘要:var Class = function (parent) { var klass = function () { this.init.apply(this, arguments); } if (parent) { /** * 所有的子类都共享了同一个原型 * 避免在继承类的时候创建实例,只有实例的属性才会被继承 * 而非类的属性,设置对象的__proto__ * **/ var ctor = function () { }; ctor....
阅读全文
posted @
2012-08-24 14:20
【艾伦】
阅读(442)
推荐(1) 编辑
创建类
摘要:var Person = function (name ){ this.name = name;}//必须这种var p = new Person('aaron')//这个有问题Person('aaron')/** * 1 .函数调用返回时undefinde ,执行上下文是window * 2. new 构造,执行上下文从全局对象变成一个空的上下文,这个上下文代表新生的实列 * 因此this关键字指向当前的实例 * * 3. 默认情况下,构造函数没有返回,默认返回this,否则返回任意非原始的类型值 * * **/var Class = function(){
阅读全文
posted @
2012-08-24 14:19
【艾伦】
阅读(445)
推荐(0) 编辑