文档章节

面向对象编程(OOP)----BLUE大师JS课堂笔记

老鸟的空间
 老鸟的空间
发布于 2014/06/28 17:48
字数 755
阅读 35
收藏 0

1.面向对象时,只关注对象提供的功能,不关注其内部的细节。 如JQUERY

2.面向对象时一种通用思想,并非只有编程中能用,任何事情都可以用。如公司里的上传下达

3.面向对象编程(OOP)的特点,传统的书本会说:多态,封装,继承三大特点

   应该还能理解成抽象,封装,继承三大特点

   抽象:抓住核心问题

   封装:不考虑内部实现,只考虑功能使用

   继承:从已有对象上,继承出新的对象

4.对象的组成

    方法---------函数:过程,动态的

    属性---------变量:状态,静态的

    变量和函数是自由的,属性和方法属于一个对象

5.this:当前的方法属于谁,this就是指谁    除了在函数面前有new的时候

  

复制代码

.name=.sex=

复制代码

var p1 = new Person("leo","男");

在这里的this是Object

原因是这个函数相当于

复制代码

function Person(name,sex)
{       var this = new Object();   //虽然在JS里面不能这么写,但是差不多是这个意思,创建一个新的对象。
       this.name=name;       this.sex=sex;          //给this对象赋属性
       return this;             //返回this}

复制代码

6.构造对象的函数称之为构造函数,不具备实际功能,只能用来构造对象   如:var arr = new Array();

7.工厂方式构造对象。工厂的工作流程是这样的a.原料   b.加工    c.出厂。用工厂方式构造对象也是一样的,首先要创建一个对象(加工),然后给对象添加方法和属性(加工),最后返回对象(出厂)。例子:

  

复制代码

function CreatePerson(name,sex)
{      var person = new Object(); //原料      
      person.name=name;
      person.sex=sex;
      person.show=function()
     {
          alert(this.name);
      }                                         //加工,给对象添加方法和属性

     return person;                    //出厂,返回对象}

复制代码

 

8.工厂的方式有2个问题。问题一:没有new;问题二:每个对象都有一套自己的函数,极其浪费资源。

   为了解决问题一:

复制代码

function Person(name,sex)
{        this.name=name;        this.sex=sex;
}var p1 = new Person("leo","男");

复制代码

用了一个new 把构造函数内部的 创建对象和返回对象给省去了。

   为了解决问题二:

Person.prototype.show=function()
{
       alert(this.name);
}

给原型添加了方法,基于这个构造函数创建出来的对象就都具有这个方法了,而且是共用一个方法,而不是像工厂模式那样的每个对象new一个function,这个极大地节省了资源,就像工厂生产蛋糕的模式,虽然生产出那么多得蛋糕,但是用的却是一个模子,而不是每生产一个蛋糕就用一个模子。

类---------------------模子

对象(实例)-----------蛋糕

原型一个重要应用-----扩展功能

9.为了区别普通函数和构造函数,构造函数首字母大写。

10.混合写法:构造函数放属性,原型放方法。

11.alert(typeof Date);     弹出function      因为Date是构造函数


本文转载自:http://www.cnblogs.com/ggbd-lie/archive/2012/11/21/2780394.html

共有 人打赏支持
上一篇: 即时函数
老鸟的空间
粉丝 7
博文 79
码字总数 7683
作品 0
海淀
程序员
私信 提问
《JavaScript 权威指南》读书笔记 1 - 简介

原文:https://keelii.github.io/2016/06/16/javascript-definitive-guide-note-0/ 第一章 主要介绍 JavaScript 的大概情况、基本语法。之前没有 JavaScript 基础的看不懂也没关系,后续章节...

keelii
2016/06/24
0
0
用函数式编程对JavaScript进行断舍离

译者按: 当从业20的JavaScript老司机学会函数式编程时,他扔掉了90%的特性,也不用面向对象了,最后发现了真爱啊!!! 原文: How I rediscovered my love for JavaScript after throwing 90...

Fundebug
2017/09/13
0
0
JavaScript入门(六)

对象 对象是我们使用JavaScript的核心。JavaScript中的对象在许多方面和编程外的现实世界中的对象是相似的(它并不存在,我只是做个设想)。在现实的世界中,一个对象就是一个“事物”(许多...

晨曦之光
2012/03/09
0
0
学习 Kity 笔记(一) Class 支持

(此文已经过时, 会重新回顾学习并写新文, 2015-12-03 注释) Kity 是百度前端小组开发的 SVG 矢量图形库. 下载了 kity, 以及 grunt, seajs, 尝试用 grunt 构建发生错误: Fatal error: Module...

刘军兴
2015/11/12
0
0
此生无悔入 TypeScript

↑ 编者按:本文由phodal公众号授权奇舞周刊转载。 想来,我已经用 TypeScript 已经有一段时间了,它可以算得上是前端领域的一门 “平淡生活” 的语言。 平淡生活,我的意思是:生活可以从此...

奇舞周刊
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

day150-2018-11-17-英语流利阅读-待学习

歪果仁也疯狂:海外版抖音的征途 毛西 2018-11-17 1.今日导读 海外版抖音 TikTok 于 2017 年 5 月上线海外,至今覆盖全球 150 多个国家和地区,月活跃用户数已突破 5 亿。然而,“出海”的抖...

飞鱼说编程
今天
10
0
分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

什么是分布式系统 回到顶部   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法...

dragon_tech
今天
4
0
TOKEN设计

TOKEN设计 Api_Token 首先需要知道API是什么? API(Application Programming Interface)即应用程序接口。你可以认为 API 是一个软件组件或是一个 Web 服务与外界进行的交互的接口。而我们在...

DrChenXX
今天
3
0
浅谈“李氏代换”——从纪念金庸和斯坦李说起

李氏代换(LSP)简介 李氏代换是软件设计的一个原则,又名依赖倒转原则或依赖倒置原则,其衍生原则有接口分离原则等。该原则由Barbara Liskov于1988年提出。 该原则指出,程序中高级别的元素...

SamYjy
今天
37
0
JavaScript实现在线websocket WSS测试工具 -toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部