任何语言里都有面向对象,除了个别的。今天,我要说的是javascript中面向对象。

什么是面向对象?

计算机中的一切算法和逻辑都是源于生活中的,对象,这个抽象的概念并不是男同胞理解的妹子哈,对象,无处不在。比如……

你的电脑键盘就是一个对象。我们可以用它敲文字,那么这就是他的方法。而方法永元是运动的。那么它有很多按键。这些按键每个都对应着一个不同的固定的内容,比如按键a,你不可能按了他屏幕上出个字母b,中毒除外哈。那么这些按键我们就叫他属性。属性永运都是静态的。

总结一下哈:对象定义:分为两种:对象使用者,对象创造者。

1、我们并不知道他内部是怎么运行的,但我们会用,比如按下a就会出现a字母,我们不需要明白为什么会这样,但我们会用就行。——对象的使用。

2、对象的组成:方法(函数)——运动;属性(变量)——静态;——对象的创造者;
        
         3、重要特性:继承。也可以叫遗传。
              遗传 A->B;从父类上继承出一些方法、属性,子类,又有一些特征。

好,还是不太懂,因为我写的太烂了哈。那么我再仔细的写。

对象的使用者,在js里其实有很多js给我们写好的对象我们只要拿来用就行了。比如array();使用方法:1、var arr=new array();2、var arr=[1,2,3,]。有基础的都明白哈,这个不就是一个数组吗,是的。但你有想过它为什么写好后,就可以有属性length,还有arr[0]下标能用,而其他的就不行呢?其实,这就是js写好的面向对象,我们只要初始化拿来用就可以使用它封装好的方法,但是,我们从不知道他内部做了什么,只是会用。这就是使用者。

总是用别人的东西,不太好,所以,我们要自己写,函数的封装也好,还是面向对象也罢,最后,你写出来的那个,还可以叫插件!哎,这很多人就懂了。一套方法,他没有具体的用处,但是我一旦有了需求,我可以无限使用它去处理不计数的相同问题的事件。

看代码:

1、Function fn(){

Alert(“宋宇是最帅的”)

}

2、Var obj={

Fn:function(){

Alert(“还用你说”)

}

}

1、函数就是一个函数,调用方法直接fn()就好。2、是对象里的函数,调用方法obj.fn();

很多人有疑惑,有什么区别,有区别,如果这个obj是一个可接受动态参数的this呢,那么你就可以任意的使用这个对象了。

总结:1.函数是自由的,可以直接调用,没有父亲。方法也是函数,但他是属于一个对象的,他有父亲。

2.属性也是变量,跟方法一样,他是属于对象的。Ok。这样说,很多小朋友就该明白了哈,我文笔不是太好。慢慢理解哈。

面向对象的世界里有工厂模式,这里就不写了。因为一个致命的问题。他会导致性能下降,为什么呢?因为他每一次被使用就会生产一个新的函数,这样如果多了,会让内存溢出的。(如果你想了解更多,请q我。工厂方式,其实你经常写过。就是单纯的传参,套用。)

那么,坚持要写自己对象的小朋友怎么办?

有的。

用构造函数写属性
用原型方式写方法
构造函数首字母大写

哦买噶!看到高逼格的名字是不是瞬间就尿了。其实他们,真的很简单。

看代码:

function Gouzao(name,qq){  //用构造函数写属性
    this.name=name,this.qq=qq;
}
    Gouzao.prototype.names= function () {  //用原型方式写方法
        alert(this.name)
    };
    Gouzao.prototype.qqs= function () {   //用原型方式写方法
        alert(this.qq)
    };
    var a=new Gouzao("宋宇",289483936);
a.names();
a.qqs();
    var b=new Gouzao('解松涛', 406842877);
b.names();
b.qqs();

如果是工厂模式,那么这两个方法是两个独立的函数,如果多了,就会让性能下降。

现在这个,他叫混合模式。

用构造函数写属性
用原型方式写方法
构造函数首字母大写

而prototype是给对象扩展用的,这里不再多说,随便百度一下就能知道哈。

关键知识:理解什么是对象。概念和构成。用法和写法。还有几种模式。

我们经常写的这种也有名字:

Var JSON={

“name”:”宋宇”,

“age”:”21岁”,

“sex”:“男”

}

JSON对象。一般给服务器提交数据的时候,我们用json格式提交。

Ok,以上就是我的基础对象的入门级专治懵逼小朋友的糟文。(大神请捂眼)

宋宇愿意告诉你更多。

我要谈对象之——JavaScript面向对象(1)的更多相关文章

  1. 再谈javascript面向对象编程

    前言:虽有陈皓<Javascript 面向对象编程>珠玉在前,但是我还是忍不住再画蛇添足的补上一篇文章,主要是因为javascript这门语言魅力.另外这篇文章是一篇入门文章,我也是才开始 ...

  2. 浅谈javascript面向对象

    我们常用的两种编程模式 POP--面向过程编程(Process-oriented programming) 面向过程编程是以功能为中心来进行思考和组织的一种编程方法,它强调的是系统的数据被加工和处理的 ...

  3. javascript面向对象系列第一篇——构造函数和原型对象

    × 目录 [1]构造函数 [2]原型对象 [3]总结 前面的话 一般地,javascript使用构造函数和原型对象来进行面向对象编程,它们的表现与其他面向对象编程语言中的类相似又不同.本文将详细介绍如 ...

  4. 03.JavaScript 面向对象精要--理解对象

    JavaScript 面向对象精要--理解对象 尽管JavaScript里有大量内建引用类型,很可能你还是会频繁的创建自己的对象.JavaScript中的对象是动态的. 一.定义属性 当一个属性第1次 ...

  5. 第五章 JavaScript对象及初识面向对象

    第五章   JavaScript对象及初识面向对象 一.对象 在JavaScript中,所有事物都是对象,如字符串.数值.数组.函数等. 在JavaScript对象分为内置对象和自定义对象,要处理一些 ...

  6. javascript面向对象精要第三章对象整理精要

    什么是对象的数据属性?什么是对象的访问器属性?[put]方法是默认创建数据属性的,访 问器属性不包含值而是定义了一个单属性被读取时调用的函数(getter)和当一个属性被写入时 调用的函数(sette ...

  7. Javascript面向对象编程(三):非构造函数的继承(对象的深拷贝与浅拷贝)

    Javascript面向对象编程(三):非构造函数的继承   作者: 阮一峰 日期: 2010年5月24日 这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现&quo ...

  8. JAVAScript对象及初始面向对象

              javaScript对象及初始面向对象 1:内置对象 例:Date String Array 类等... 2:自定义对象 方法1:var newObj=new Object(); ...

  9. JavaScript 面向对象的程序设计(一)之理解对象属性

    首先,JavaScript 面向对象的程序设计,主要分三部分. 理解对象属性: 理解并创建对象: 理解继承. 本文主要从第一方面来阐述: 理解对象属性 首先我们来理解Javascript对象是什么?在 ...

随机推荐

  1. zx一篇让Java程序猿随时可以翻看的Oracle总结

    一篇让Java程序猿随时可以翻看的Oracle总结 前言:Oracle学习也有十几天了,但是呢,接下来还要学习许多其他的东西,并不能提步不前,所以在此总结了以下Oracle中常用的命令和语句,没有语法 ...

  2. java.util.concurrent.atomic 包详解

    Atomic包的作用: 方便程序员在多线程环境下,无锁的进行原子操作 Atomic包核心: Atomic包里的类基本都是使用Unsafe实现的包装类,核心操作是CAS原子操作 关于CAS compar ...

  3. 利用tween.js算法生成缓动效果

    在讲tween类之前,不得不提的是贝塞尔曲线了.首先,贝塞尔曲线是指依据四个位置任意的点坐标绘制出的一条光滑曲线.它在作图工具或动画中中运用得比较多,例如PS中的钢笔工具,firework中的画笔等等 ...

  4. php程序员绝不能违背的安全铁则

    作为PHP程序员,特别是新手,对于互联网的险恶总是知道的太少,对于外部的入侵有很多时候是素手无策的,他们根本不知道黑客是如何入侵的.提交入侵.上传漏洞.sql 注入.跨脚本攻击等等.作为最基本的防范你 ...

  5. 关于dll的一点收获

    蒙贾神指点. 对于kernel32.dll这种系统dll, 每一个进程都会加载一份, 映射到自己的进程空间. 实际上物理内存上还是只有一份dll. 如果对进程自己的dll进行修改, 这时操作系统会触发 ...

  6. 这是用过的"最差"树形插件

      这是用过的"最差"树形插件 !!! 或许大家听过一个bootstrap UI框架---ace皮肤.有兴趣的童鞋可以在线查看:https://www.iteblog.com/ac ...

  7. 从零开始攻略PHP(7)——面向对象(上)

    1.理解面向对象的概念 面向对象软件的一个重要优点是支持和鼓励封装的能力.封装也叫数据隐藏. 在面向对象的软件中,对象是一个被保存数据和操作这些数据的操作方法的唯一.可标识的集合. 对象可以按类进行分 ...

  8. JSONObject put,accumulate,element的区别

    public Object put (Object key, Object value) 将value映射到key下.如果此JSONObject对象之前存在一个value在这个key下,当前的valu ...

  9. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  10. 微信聊天记录查看器(程序+源码) - iOS版

    本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4338643.html Updates [2016.10.14]感谢 ...