[Object]面向对象编程(自己总结版)

行云间 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);

相关推荐