初识Javascript的面向对象

面向对象编程概念—————————————————————–

用对象的思想去写代码,就是面向对象编程
过程式写法
面向对象写法

我们一直都在使用对象
数组 Array  时间 Date

面向对象编程(OOP的特点)—————————————————————-

抽象:抓住核心问题
封装:只能通过对象来访问方法
继承:从已有对象上继承出新的对象
多态:多对象的不同形态

对象的组成——————————————————————-

方法(行为、操作)——函数:过程、动态的

属性——变量:状态、静态的

工厂方式——————————————————————–

工厂方式就是面向对象中的封装函数

改成与系统对象类似写法
    首字母大写
    New 关键字提取 当new关键字调用一个函数时,那么函数中的this指向new创建
    的这个对象,而且函数的返回值直接就是this了。(隐式返回)

构造函数 new后面调用的函数
    用来创建对象的函数,叫做构造函数

存在的问题
    对象的引用 : 对象的赋值不仅仅是值的复制,也是引用的传递
    浪费内存 : 构造函数的属性如果是引用的话,当new了很多相应对象时,
    也引用了很多内存块,造成浪费,应该让这些相同的引用指向一个内存块。

    类似于
    var a=[1,2,3];
    var b=[1,2,3];
    var c=[1,2,3];

    优化为
    var a=b=c=[1,2,3];

原型prototype——————————————————————–

概念
    改写对象下面公用的方法或者属性,让公用的方法或属性在内存中存在一份
    好处:提高性能。

学习原型
    类比
        原型 : CSS中的Class ,重用的样式写在class里面,调用class就能得到相应样式

        普通方法 :CSS中的style,每次要得到相应的样式时style都要重新写

        如果一个对象同时拥有同名的原型方法和普通方法,那么普通方法
        的优先级比较高(相当于重写)

    写法
        构造函数名.原型.[方法|属性]
        原型 prototype 要写在构造函数的下面.

通过原型改写工厂方式
    原则
        相同的属性和方法可以加载原型上
        混合的编程模式

总结面向对象写法
  构造函数加属性,原型加方法

  function 构造函数(){
        this.属性;
  }
  构造函数.原型.方法1 = function(){};
  构造函数.原型.方法2 = function(){};

  var 对象1 = new 构造函数名();
  对象1.方法2();
  var 对象2 = new 构造函数名();
  对象2.方法1();

面向对象的选项卡———————————————————————

原则
    先写出普通的写法,然后改成面向对象写法
        普通方法变型
            尽量不要出现函数嵌套函数
            可以有全局变量
            把onload中不是赋值的语句放到单独函数中

        改成面向对象
            全局变量就是属性
            函数就是方法
            Onload中创建对象
            改this指向问题:事件或定时器的时候
            尽量让面向对象中的this指向对象。

版权声明:本文为博主原创文章,转载还请留言。

时间: 2024-10-22 01:35:26

初识Javascript的面向对象的相关文章

初识JavaScript的面向对象编程

学过面向对象编程语言(如C++, Java等)的同学应该都知道这些语言涉及到的概念不外乎是,“类” .“对象” .“对象属性” .“对象方法” 等,然而这些面向对象的概念,在JavaScript目前版本中,没有较为鲜明的对应关系.不过,我们还是可以使用面向对象的方式来进行JavaScript编程滴~ 首先,来说说JavaScript(后面使用JS代称)中的对象吧.在JS中,声明对象的方式有两种: var person = {}; var person = new Object(); // 或 v

JavaScript的面向对象编程(OOP)(一)——类

在学习JavaScript面向对象的编程之前,需要知道,并了解面向对象的一些基本的常识.初学者中大多数都以为面向对象中,面向对象的编程是很重要和占据很大一部分精力.笔者在之前也是认为OOP是面向对象的主要部分,那么和我持有一样想法的,下面先要纠正这一想法,真正了解面向对象. 一.初识面向对象 面向对象分为三部分,包括面向对象分析(OOA).面向对象设计(OOD).面向对象的程序设计(OOP). 1.1 OO编程(Object Oriented Analysis) 典型的OO编程过程,应先整理需求

初识 javascript

第一次接触javascript是在网上看教程时,看到有关DOM操作的内容而认识的.刚开始一直误以为javascript是java的一个子集.因为也没有对javascript有很深的理解,所有就没有去深究javascript和java之间的关系.直到最近才发现,我的这个观点是完全错误的.javascript和java是完全不同的两门语言. 以下内容均源自网络: 1 首先,这两个家伙没有任何的血缘关系,java是是由Sun 公司于1995年5月推出的, 2 而javascript是于1995年由Ne

笔记一、初识 Javascript

一.初识 Javascript javascript是一种专为与网页交互儿设计的脚本语言.由三部分组成:ECMAScript  (ECMA-262定义) : 提供核心语言功能文档对象模型(DOM): 提供访问和操作网页内容的方法和接口浏览器对象模型(BOM): 提供与浏览器交互的方法和接口Javascript的这三个组成部分在当前五大主流浏览器中都得到了不同程度的支持(IE.FireFox.Chrome.Safari.Opera).基本所有的浏览器都大体上支持ECMAScript第三版.但是对于

《JavaScript》——面向对象之原型

上一篇文章我主要介绍的是在JavaScript里对象的创建,可是,在对象的创建过程中有很多知识我们还没有学习,那就是原型,原型式什么东东哪?在这里我想用自己的理解跟大家说说,有不对的地方大家可以给我提意见. 首先说,原型就是对象,这个对象中的属性和方法可以被共享,被谁共享哪?就是被实例们共享(当我们创建一个对象后,然后再用这个对象去实例化许多实例). 我们创建的每个对象都有一个 prototype(原型)属性,这个属性是系统自动创建的,通过这个属性(prototype)就可以直接访问到该对象的原

javascript基础——初识javascript

每一门语言的学习都是从HelloWorld开始的,我今天也遵循这个原则吧!先上一段代码,认识一下javascript <html><head><title>初识javascript</title><script language="javascript" type="text/javascript"><!--alert("Hello World Wide Web!")//-->

第一讲:初识JavaScript

1.0. 学习目标 –了解javascript组成部分 –认识javascript解析机制 –如何使用javascript 1.1.初识JavaScript •javascript是一种专为与网页交互儿设计的脚本语言.由三部分组成: –ECMAScript  (ECMA-262定义)  提供核心语言功能 –文档对象模型(DOM)提供访问和操作网页内容的方法和接口 –浏览器对象模型(BOM)提供与浏览器交互的方法和接口 •Javascript的这三个组成部分在当前五大主流浏览器中都得到了不同程度的

JavaScript基础--面向对象三大特性(八):继承封装多态

一.构造函数基本用法:function 类名(参数列表){属性=参数值} 1 function Person(name,age){ 2 this.name = name; 3 this.age = age; 4 } 5 6 //创建Person对象的时候,可以直接给名字和年龄 7 var p1 = new Person('abc',80); 8 window.alert(p1.name); 9 var p2 = new Person('hello',9); 10 window.alert(p2.

Day15 HTML补充、初识JavaScript

一.上节回顾 上节回顾: HTML 头部信息:编码.title.style.link(导入css文件) 身体: 内联 块级 --->inline-block(既有内联效果又有块级效果) a标签: target.href(跳转到url,#i1(id=i1跳转到顶部)) img标签: src alt iframe(伪Ajax,上传文件) src form标签 action提交url:method提交方式:get和post:上传文件:enctype="multipart/form-data&qu