MVC是一种设计模式 它将应用划分为三个部分: 数据,展现和用户交互
1 var Class = function(){ 2 var klass = function(){ 3 klass.init.apply(this, arguments); 4 } 5 klass.prototype.init() = function(){}; 6 return klass; 7 }; 8 var Person = new Class; 9 10 Person.prototype.init = function() { 11 //基于Person的初始化内容 12 } 13 14 var person = new Person;
1 Person.fn = Person.prototype; 2 Person.fn.run = function(){/*......*/};
1 klass.extend = function(obj){ 2 var extended = obj.extended; 3 for( var i in obj){ 4 klass[i] = obj[i]; 5 } 6 if( extended ) 7 extended(klass); 8 }; 9 10 klass.include = function(obj){ 11 var included = obj.included; 12 for( var i in obj){ 13 klass[i].fn = obj.[i]; 14 } 15 if( included ) 16 included(klass); 17 } 18 19 var Person = new Class; 20 Person.extend({ 21 find: function(id){/*...*/}, 22 exists: function(id){/*....*/} 23 }); 24 var person = Person.find(1);
1 Person.extend({ 2 extended: funtcion(klass) { 3 console.log(klass,"was extended"); 4 } 5 });
1 var ORMModule = { 2 save: funtction() { 3 //共享的函数 4 } 5 }; 6 Person.include(ORMModule); 7 Asset.include(ORMModule);
1 var Class = function(parent){ 2 var klass = function(){ 3 klass.init.apply(this, arguments); 4 } 5 6 if(parent){ 7 var subclass = function () {}; 8 subclass.prototype = parent.prototype; 9 klass.prototype = new subclass; 10 } 11 12 klass.prototype.init() = function(){}; 13 klass.fn = klass.prototype; 14 klass.fn.parent = klass; 15 klass._super = klass.__proto__; 16 17 /* 18 extend..... 19 include...... 20 */ 21 22 return klass; 23 };
1 var Class = function(parent){ 2 var klass = function(){ 3 this.init.apply(this, arguments); 4 }; 5 klass.prototype.init = function(){}; 6 klass.fn = klass.prototype; 7 // 添加一个proxy 函数 8 klass.proxy = function(func){ 9 var self = this; 10 return(function(){ 11 return func.apply(self, arguments); 12 }); 13 } 14 // 在实例中也添加这个函数 15 klass.fn.proxy = klass.proxy; 16 return klass; 17 };
1 if(!Function.prototype.bind){ 2 Function.prototype.bind = function(obj) { 3 var slice = [].slice; 4 args = slice.call(arguments,1), 5 self = this, 6 nop = function() {}, 7 bound = function() { 8 return self.apply( this instanceof nop ? this:(obj || {}), 9 args.concat(slice.call(arguments))); 10 }; 11 nop.prototype = self.prototype; 12 bound.prototype = new nop; 13 return bound; 14 }; 15 }
1 var Person = function(){}; 2 (function{ 3 var findById = function(){ /*....*/}; 4 5 Person.find = function(id) { 6 if( typeof id = = "integer") 7 return findById(id); 8 }; 9 })();
MVC的JavaScript Web富应用开发——学习笔记(1)MVC和类,布布扣,bubuko.com
MVC的JavaScript Web富应用开发——学习笔记(1)MVC和类
原文:http://www.cnblogs.com/oneX/p/3662918.html