此文用来记录学习笔记;
•javascript之对象、面向对象
•可能对于高级语言你可能了解甚至精通OOP面向对象,那么对于javascript你又熟悉多少呢?我们一起来学习javascript面向对象,这样非常有帮助我们理解Ext的基础架构,Ext本身就是一个JS面向对象的框架。
•使用json对象(JavaScript Object Notation)
–JS对象的特性
–对于js来说json对象非常的重要,我们要学会如何操作json对象
•面向对象的概念
–如何定义一个类、如何实例化对象、如何扩展对象(原型prototype)
–单体模式:简单单体、闭包单体、惰性单体、分支单体
–对象的定义其他方式(工厂模型、稳妥对象、聚合对象)
–原型的使用、原型链
–原型的继承(多种方式实现:组合继承、借用构造函数继承、混合继承、掺元类等)
–链式编程
–javascript契约书:接口(注释法、属性检测法、鸭式辨型法)
•设计模式:如果能够掌握JS的设计模式,我相信在以后的Ext学习中,慢慢的研读,体会Ext底层代码的设计,是非常有帮助的。
附上部分栗子代码
1 Ext.onReady(function(){ 2 //var obj = new Object(); 3 var obj = {name:'z3' , age:20}; //json对象 4 obj.sex = '男'; //新增属性 5 obj.age = 25 ; //修改属性的值 6 delete obj.name ; //删除对象的属性 7 8 //枚举对象内置属性的循环 9 for( var attr in obj){ 10 alert(attr + " : " + obj[attr]); 11 } 12 13 //定义了一个js的类 14 var Person = function(name , age){ 15 this.name = name ; 16 this.age = age ; 17 // private 18 var _sex = '男'; //js的私有属性 19 this.getSex = function(){ 20 return _sex ; 21 }; 22 this.setSex = function(sex){ 23 _sex = sex ; 24 }; 25 }; 26 // Person.prototype.id = 10 ; 27 // Person.prototype.method = function(){ 28 // alert(this.age); 29 // }; 30 31 //原型对象的构造器 总是指向当前对象的模板 32 Person.prototype = { 33 constructor:Person , 34 id:10 , 35 method : function(){ 36 alert('method....'); 37 } 38 }; 39 40 41 //实例化一个对象 42 var p = new Person('张三',30); 43 alert(p.name); 44 alert(p.id); 45 p.method(); 46 47 48 //单体模式: 简单单体 49 var SXT = {}; 50 SXT.Array = { 51 each:function(){ 52 alert('each....'); 53 }, 54 filter:function(){ 55 alert('filter...'); 56 } 57 }; 58 SXT.staticMethod = function(){ 59 alert('我是单体下的静态方法!'); 60 }; 61 62 SXT.Array.each(); 63 SXT.staticMethod(); 64 65 //单体模式: 闭包单体 66 var SXT = (function(){ 67 var Array = { 68 each:function(){ 69 alert('each...'); 70 } 71 }; 72 return { 73 arrayEach:function(){ 74 Array.each(); 75 } 76 }; 77 })(); 78 SXT.arrayEach(); 79 80 });
推荐给各位推荐个优美文章网www.fishcmonkey.com,学习之余提高文学修养