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

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

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

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

面向对象

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

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语言就是一种面向过程的语言。github

面向过程是一件事“该怎么作“,面向对象是一件事“该让谁来作”,而后那个“谁”就是对象,他要怎么作是他本身的事,反正最后一群对象协力能把事作好就好了。

javascript 的面向对象

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

小结

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

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

相关文章
相关标签/搜索