Ext JS学习第五天 我们所熟悉的javascript(四)

此文用来记录学习笔记;

•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,学习之余提高文学修养

你可能感兴趣的:(JavaScript)