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

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

2014-06-06 面向对象编程

感受:原理javascript也可以用完全面向对象的方式编程,兴奋得一个晚上都没睡好觉。

有种越深入越想编程的状态,有种上瘾的快感。

1,面向对象方式编程

Js代码  

  1. function Aa(){
  2. //属性设置
  3. this.property1:value1,//例如this.nameinput = $("input[‘name‘=name]");
  4. this.property2:value2,
  5. this.property3:value3,
  6. }
  7. Aa.prototype.init=function(){
  8. //初始化,比如是否隐藏
  9. }
  10. //方法设置
  11. Aa.prototype.method1=function(){
  12. }
  13. Aa.prototype.method2=function(){
  14. }
  15. Aa.prototype.method3=function(){
  16. }

2,继承

Js代码  

  1. function Bb(){
  2. }
  3. Bb.prototype = new Aa();
  4. function Cc(){
  5. }
  6. Cc.prototype = new Aa();

#2013-08-28  第三次总结

主要是看了《高级程序设计》,发现很多培训机构不过先看书,再讲出来,讲的大多只是概念,没有实用价值(实际工作会比这个复杂,如果只会这些还是写不出优秀的代码,所以只能先再另看优秀的代码,然后在自己写了)。

一、引用类型

基本数据类型是复制,符合数据类型是引用。所有参数传递都是复制。

所以,对象都是引用

二、作用域链、闭包、匿名函数

1,作用域链

2,闭包及this作用域

(1)基本用法

(2)可能面临的问题及如何解决

原因:作用域链

(3)内存泄露

3,模仿块级作用域

三、类、对象、继承

1,类(Function)和对象

私有变量,私有方法:直接在Function内部通过var定义变量,function innerXX(){}定义方法都是私有变量和私有方法。

共有变量,共有方法:

(1)通过this.property1和this.method1

(2)通过prototype定义方法

静态变量,静态方法:

2,继承

使用Call+prototype。call继承共有变量,prototype继承共有方法。

#2013-08-27  第二次总结

面向对象方式,可以把JS做成框架。

原来JS也可以写得很复杂,功能很强大,甚至写成框架。

在面向对象方式编程中,一切皆对象。

Js代码  

  1. var Obj = {};
  2. Obj.base = {
  3. base1:function(){
  4. },
  5. base2:function(){
  6. }
  7. };
  8. Obj.tool = {
  9. tool1:function(){
  10. },
  11. tool2:function(){
  12. }
  13. };
  14. function MainEntrance(param){
  15. this.init(param);
  16. }
  17. $.extend.(MainEntrance.prototype, {
  18. init:function(){
  19. this.a = a;
  20. this.b = b;
  21. },
  22. bindEvents:function(){
  23. Events.event1();
  24. Events.event2();
  25. }
  26. });
  27. var Events = {
  28. event1:function(){
  29. },
  30. event2:function(){
  31. }
  32. };
  33. //再最后调用
  34. Obj.init();
  35. events.event1();

#2013-03-20  第一次总结

对于一个对象,如:

Js代码  

    1. var globalObj = {
    2. func1 : function(){
    3. //post,get
    4. }
    5. };
    6. //执行的方式可以是:(目的是同时渲染多个页面)
    7. (function(pageName){
    8. var globalObj = {
    9. func1 : function(){
    10. //1,post,get方式异步获取数据,以渲染页面
    11. //2,php变量获取数据,渲染页面(不体现在这里)
    12. //3,初始化监听事件,常见如click等
    13. }
    14. };
    15. globalObj [pageName]&&$(globalObj [pageName]);
    16. })(pageName);
时间: 2024-10-07 03:53:35

[Object]面向对象编程(自己总结版)的相关文章

[Object]面向对象编程(高程版)(0)属性和方法

[Object]面向对象编程(高程版)(0)属性和方法 博客分类: Web前端-JS语言核心 私有变量成员变量公有变量静态变量 zccst转载+原创 Js代码   function Person(){ var private_name = "小明"; //私有属性 var private_age = 10;      //私有属性 this.privilege_name = "小红"; //特权属性 this.privilege_age = 9;       //特

C++ Primer 学习笔记33_面向对象编程(4)--虚函数与多态(一):多态、派生类重定义、虚函数的访问、 . 和->的区别、虚析构函数、object slicing与虚函数

C++ Primer学习笔记33_面向对象编程(4)--虚函数与多态(一):多态.派生类重定义.虚函数的访问. . 和->的区别.虚析构函数.object slicing与虚函数 一.多态 多态可以简单地概括为"一个接口,多种方法",前面讲过的重载就是一种简单的多态,一个函数名(调用接口)对应着几个不同的函数原型(方法). 更通俗的说,多态行是指同一个操作作用于不同的对象就会产生不同的响应.或者说,多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为. 多态行分

《Java面向对象编程第二版》今年出版以来获得读者一致好评。

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.在当当网上获得了1500多条好评: http://product.dangdang.com/9186890.html?point=comment_point 应广大读者的要求,为第一版进行了升级,第二版融合了最新的Java8的语言特性,它继续为Java开发人员们提供丰富全面的技术支持和帮助.在京东网上读者们对第二版的好评如潮,一致认为这是Java开发人员必

《Java面向对象编程第二版》即将出版

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.应广大读者的要求,在过去的几个月,为第一版进行了升级,第二版融合了最新的Java8的语言特性,希望它能继续为Java开发人员们提供丰富全面的技术支持和帮助. 本书技术支持网址为:www.javathinker.net

面向对象编程OOP Object oriented programing

oop是面向对象编程(设计) 面向对象程序设计(英语:Object Oriented Programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法论.它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性.灵活性和扩展性.基本理论 一项由 Deborah J. Armstrong 进行的长达40年之久的计算机著作调查显示出了一系列面向对象程序设计的基本理论.它们是: 类 类(Class)定义了一件事物的抽象特点.通常来说,类定义了事物的属性和它可以做到的(

Python面向对象编程指南(高清版)PDF

Python面向对象编程指南(高清版)PDF百度网盘链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网盘手机App,操作更方便哦内容简介 · · · · · · Python是一种面向对象.解释型的程序设计语言,它已经被成功应用于科学计算.数据分析以及游戏开发等诸多领域.本书深入介绍Python语言的面向对象特性,全书分3个部分共18章.第1部分讲述用特殊方法实现Python风格的类,分别介绍了init

面向对象编程(Object Oriented Programming,OOP)

类是一个通用的概念,Java.C++.C#.PHP等很多编程语言中都有类,都可以通过类创建对象.可以将类看做是结构体的升级版,C语言的晚辈们看到了C语言的不足,尝试加以改善,继承了结构体的思想,并进行了升级,让程序员在开发或扩展大中型项目时更加容易. 因为Java.C++等语言都支持类和对象,所以使用这些语言编写程序也被称为面向对象编程,这些语言也被称为面向对象的编程语言.C语言因为不支持类和对象的概念,被称为面向过程的编程语言. 实际上,面向对象只是面向过程的升级. 在C语言中,可以将完成某个

C++ Primer(第4版)-学习笔记-第4部分:面向对象编程与泛型编程

第15章 面向对象编程OOP(Object-oriented programming)           面向对象编程基于三个基本概念:数据抽象.继承和动态绑定. 在 C++ 中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员.动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义 的函数. private  成员 •  通过类对象无法访问类的private成员. •  在派生类中不能访问基类的private成员.  •  private 成员只能在当前类的

Javascript 面向对象编程(一):封装

学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握. 下面就是我的学习笔记,希望对大家学习这个部分有所帮助.我主要参考了以下两本书籍: <面向对象的Javascript>(Object-Oriented JavaScript) <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd