行云间 2013-02-20
作者:zccst
2014-06-06面向对象编程
感受:原理javascript也可以用完全面向对象的方式编程,兴奋得一个晚上都没睡好觉。
有种越深入越想编程的状态,有种上瘾的快感。
1,面向对象方式编程
function Aa(){ //属性设置 this.property1:value1,//例如this.nameinput = $("input['name'=name]"); this.property2:value2, this.property3:value3, } Aa.prototype.init=function(){ //初始化,比如是否隐藏 } //方法设置 Aa.prototype.method1=function(){ } Aa.prototype.method2=function(){ } Aa.prototype.method3=function(){ }
2,继承
function Bb(){ } Bb.prototype = new Aa(); function Cc(){ } Cc.prototype = new Aa();
#2013-08-28第三次总结
主要是看了《高级程序设计》,发现很多培训机构不过先看书,再讲出来,讲的大多只是概念,没有实用价值(实际工作会比这个复杂,如果只会这些还是写不出优秀的代码,所以只能先再另看优秀的代码,然后在自己写了)。
一、引用类型
基本数据类型是复制,符合数据类型是引用。所有参数传递都是复制。
所以,对象都是引用
二、作用域链、闭包、匿名函数
1,作用域链
2,闭包及this作用域
(1)基本用法
(2)可能面临的问题及如何解决
原因:作用域链
(3)内存泄露
3,模仿块级作用域
三、类、对象、继承
1,类(Function)和对象
私有变量,私有方法:直接在Function内部通过var定义变量,functioninnerXX(){}定义方法都是私有变量和私有方法。
共有变量,共有方法:
(1)通过this.property1和this.method1
(2)通过prototype定义方法
静态变量,静态方法:
2,继承
使用Call+prototype。call继承共有变量,prototype继承共有方法。
#2013-08-27第二次总结
面向对象方式,可以把JS做成框架。
原来JS也可以写得很复杂,功能很强大,甚至写成框架。
在面向对象方式编程中,一切皆对象。
var Obj = {}; Obj.base = { base1:function(){ }, base2:function(){ } }; Obj.tool = { tool1:function(){ }, tool2:function(){ } }; function MainEntrance(param){ this.init(param); } $.extend.(MainEntrance.prototype, { init:function(){ this.a = a; this.b = b; }, bindEvents:function(){ Events.event1(); Events.event2(); } }); var Events = { event1:function(){ }, event2:function(){ } }; //再最后调用 Obj.init(); events.event1();
#2013-03-20第一次总结
对于一个对象,如:
var globalObj = { func1 : function(){ //post,get } }; //执行的方式可以是:(目的是同时渲染多个页面) (function(pageName){ var globalObj = { func1 : function(){ //1,post,get方式异步获取数据,以渲染页面 //2,php变量获取数据,渲染页面(不体现在这里) //3,初始化监听事件,常见如click等 } }; globalObj [pageName]&&$(globalObj [pageName]); })(pageName);