面向对象

面向对象

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

**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中对象的含义。在下篇文章中将要介绍一些对象属性方面的知识。如果文章有错误还望各位大佬提出,一起节流学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值