资讯专栏INFORMATION COLUMN

javascript 面向对象版块之理解对象

lovXin / 1000人阅读

摘要:用代码可以这样描述安全到达国外面向过程既然说了面向对象,那么与之对应的就是面向过程。小结在这篇文章中,介绍了什么是面向对象和面向过程,以及中对象的含义。

这是 javascript 面向对象版块的第一篇文章,主要讲解对面向对象思想的一个理解。
先说说什么是对象,其实这个还真的不好说。我们可以把自己当成一个对象,或者过年的时候相亲,找对象,那么你未来的老婆也是一个对象。我们就要一些属性,比如我们的名字,年龄。我们还有一些可以做的事情,比如看电影,玩手机等等,其实这就是对象,然后描述的年龄以及看电影这些就是对象的属性。

我们说javascript是一种面向对象的语言,那什么又是面向对象呢?

其实我们在理解这些概念的时候有时候真的要刨根究底地去看看,真正的理解他们所要表达的意思,这样才会将知识点记得很清楚。
面向对象

举个例子:
五一节快到了,你们全家都想去国外玩一下,首先你们需要确定去哪儿,然后再决定怎么去(跟团,或者自由行),然后需要带一些什么零食在路上(水,薯片,牙土豆等等),然后你们在当天去机场怎么去(滴滴出行或者坐地铁),然后你们就可以飞到国外。突然,你爸说,搞这些东西好复杂呀,不如我们叫一个秘书来整理这一切吧(前提是要有一个秘书哈),然后我们就直接负责到国外就行,接着你们都不用管关于旅行的事了然后愉快的开始玩吃鸡。
其实这就是一个面向对象。你不需要知道怎么去国外,整个过程你不用管,你所要关心的就是安全到达国外就可以,而这个过程就交给了你爸爸的秘书这个对象来完成了。所以我们面向的就是对象(你爸爸的秘书),这就是面向对象的思想。
用代码可以这样描述:

function TravelAbroad() {
  this.travelMode = "Free-Exercise";
  this.food = ["water", "Potato chips", "Tooth potatoes"];
  this.transportationWay = "didi";
  this.goAirport = function () {
    console.log("we go to ariport by" + this.transportationWay);
  }
  this.goAbroad = function () {
    // some code before arrive abroad
    this.goAirport();
    console.log("安全到达国外");
  }
}

let personFather = new TravelAbroad();
personFather.goAbroad();
面向过程

既然说了面向对象,那么与之对应的就是面向过程。其实面向过程相比面向对象来说就很好理解了,比如上诉例子中,你爸爸的秘书做的事情就是面向过程,然后用代码解释就是,在函数执行过程中,要实现一个一个的功能就是执行一个一个的函数模块。最熟悉的C语言就是一种面向过程的语言。

面向过程是一件事“该怎么做“,面向对象是一件事“该让谁来做”,然后那个“谁”就是对象,他要怎么做是他自己的事,反正最后一群对象合力能把事做好就行了。
javascript 的面向对象

面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是在ECMAScript 中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。
ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把 ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。

小结

在这篇文章中,介绍了什么是面向对象和面向过程,以及javascript中对象的含义。在下篇文章中将要介绍一些对象属性方面的知识。如果文章有错误还望各位大佬提出,一起节流学习。

下一篇: javascript 面向对象版块之对象属性
上一篇: javascript 面向对象的程序设计

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/93143.html

相关文章

  • javascript 面向对象版块定义多个对象属性以及读取属性特性

    摘要:返回值是一个对象,如果是访问器属性,这个对象的属性有和如果是数据属性,这个对象的属性有和。上一篇面向对象版块之对象属性下一篇面向对象版块之创建对象 这是 javascript 面向对象版块的第三篇文章,主要讲解的是多个属性的定义以及读取属性的特性。前面这几章内容目的在于加深对对象的理解,这样可以利于理解后面的原型链以及继承方面的知识,或者你也可以了解一下不一样的 javascript ...

    wendux 评论0 收藏0
  • javascript 面向对象版块对象属性

    摘要:上一篇面向对象版块之理解对象下一篇面向对象版块之定义多个对象属性以及读取属性特性 这是 javascript 面向对象版块的第二篇文章,主要讲解的是对象的属性,首先创建一个对象: var person = { name: Nicholas, age: 29, job: Software Engineer, sayName: function () { conso...

    lolomaco 评论0 收藏0
  • PHP面向对象编程偷懒技巧-代码重用等总结

    摘要:一个不相关的总结鄙人现在写代码容易用一句话总结根本停不下来。这种状况让人生活状态极差,黑夜白天颠倒,饱一顿饿一顿,体质下降,妹纸尽失我要远离这种状态。所以决定以后写代码尽可能只写到点,要紧的话再赶赶,一般就停下来写写总结泡泡脚蓝后碎觉。 1、OOP在粗粒度上面向对象,在细粒度上面向过程:即总体上看起来是一个模块一个模块的,细分起来还是需要一步一步执行的; 2、OOP提高了代码重用效率,...

    xiaodao 评论0 收藏0
  • 聊聊毕业设计系列 --- 项目介绍

    摘要:又将整个文艺类阅读系统的业务划分为两大部分,分别是面向管理员和合作作者的后台管理系统和面向用户的移动端,系统的需求分析将围绕这两部分进行展开。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    Pink 评论0 收藏0
  • 聊聊毕业设计系列 --- 项目介绍

    摘要:又将整个文艺类阅读系统的业务划分为两大部分,分别是面向管理员和合作作者的后台管理系统和面向用户的移动端,系统的需求分析将围绕这两部分进行展开。 效果展示 showImg(https://user-gold-cdn.xitu.io/2018/8/26/16576a709bd02f5f?w=1409&h=521&f=gif&s=30128195); showImg(https://user...

    villainhr 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<