js面向对象初步认识

一.对象的含义:对象是带有属性方法的一种特殊数据类型。在js中,由于没有java这类面向对象语言的“类”的概念,所以任意函数都可以被实例化为一个对象,也即是万物皆对象

二.面向对象的含义:对象是一个整体,不关注内部,只在乎其提供的功能:举个例子:就像是遥控器,我们使用时其实并不需要了解它内部的电路构造以及所编写的指令,只需要知道每个按键对应的功能,像是音量键可以设置音量大小,这就是这个按键对应的方法,而不同 的按键又有自己的形状以及大小,这就是每个按键的属性。面向对象是一种编程思想,相对于面向过程,其优点就在于简化了代码,提高了程序的性能。

三.面向对象的特点:(抽风机)

1.抽象:只关注特定的核心要点,即构造方法时,我们只关注那些需要用到的元属性,毕竟买遥控器时,我们可不会在意它有多少个零件,是什么材质。

2.封装:不考虑如何实现,只考虑提供的功能如何使用。(⊙﹏⊙)还拿遥控器来说,就是要晓得把遥控器对准,再按下对应的按键,而不用去想信号是怎么传输的。

3.继承:从已有的对象基础上,构建出新的对象,新对象不仅拥有原有对象的方法,还有自己新增的方法;再见遥控器说什么也不干了,这里我们换个说法:原有对象是父亲,新对象是儿子,儿子从父亲那里继承了全部财产,但儿子并不满足,自己定了个小目标:挣他一个亿,然后做到了,这就是儿子自己的财产,所以儿子现在的总财产就是父亲的所有财产+自己的财产。


最后来说一下我个人对一个问题的理解:js是否是面向对象的语言?

在网上我查阅了一些资料以及博客,有说是面向对象的,有说是基于对象的,我个人比较赞同后一个观点:最关键的一点就在于js没有类概念,js的继承是通过原型链来实现的,是通过原型继承来模拟继承的效果,虽说实现了类的效果,但依然存在不小的差异,与面向对象的还是有明显的区别的。


个人的初步理解,如有不足以及错误,请各位大神不吝赐教!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值