什么是js面向对象?

1.首先,js面向对象是一种思想;

2.其次,遵循万物皆对象的准则;程序中的关键模块都可以视为对象,对象都是由属性和方法组成,属性可以理解为对象的特征,是静态的,方法可以理解为对象的行为,是动态的;例如,在汽车这个对象中,他的颜色,型号,大小就是他的属性,而行驶则是他的方法;

3.面向对象会使用对象的属性和方法,它不关注内部的细节和过程;同时也会构造对象。

4.在js中,所有的对象可以分为普通对象和函数对象。而Object ,Function 是JS自带的函数对象。凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。

面向对象有什么特点?

1.抽象:a)抽象是面向对象最为重要的特征。对象本身的状态与行为,以及对象之间的关系,都是抽象的结果。没有抽象,就没有对象,也就谈不上面向对象了。抽象是一种思维习惯,因此,抽象是面向对象的第一特征。b)把同类的对象共有的属性或方法抽出封装成单独的对象,在用到的时候给相应的对象使用;

以学生为例,把他的共同属性提取出来,比如,名字,学号等,而像爱玩还是爱学习,好动还是好静等这些不同的属性可以摒弃;

2.继承:简单来说就是一个对象继承另一个对象的属性和方法;

有两种继承方式:1,对象冒充,优点是可以实现多重继承,初始化 继承自父类的参数;缺点是浪费内存资源,所有的实例都会有一份成员方法的副本;2.原型方式,是指利用了prototype或者说以某种方式覆盖了prototype,从而达到属性方法复制的目的。

举个例子,儿子能继承父亲的姓,孙子也能继承父亲的父亲的姓;

3.封装:复杂的问题简单化,只考虑功能和结果,不考虑过程和内部细节。

举例jq库的使用。

4.多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。换句话说是引用类型在不同情况下的多种状态;

比如在js中的‘+’,在字符串中是链接作用,在数字中间是加法运算;再比如上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样。

多态最常见的三种方法:重载,重写,接口

什么是js面向对象?有什么特点?相关推荐

  1. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  2. JS面向对象一:MVC的面向对象封装

    JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...

  3. java实现选项卡定时轮播_原生js面向对象编程-选项卡(自动轮播)

    原生js面向对象编程-选项卡(自动轮播) }#div1 input{color:#fff;width:100px;height:40px;background:darkseagreen;border: ...

  4. js面向对象程序设置——创建对象

    <script type="text/javascript">              //工厂方式         //1.原始方式         /* var ...

  5. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

  6. 对js面向对象的理解

    转自:http://www.cnblogs.com/jingwhale/p/4678656.html js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP ...

  7. JS面向对象的程序设计之继承-继承的实现-借用构造函数

    JS面向对象的程序设计之继承-继承的实现-借用构造函数 前言:最近在细读Javascript高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下.如有纰漏或错误 ...

  8. js面向对象与PHP面向对象总结

    js面向对象: 1.什么是对象? 对象:任何实体都是对象,拥有属性和方法两大特征 属性:描述事物的特点: 方法:实物拥有的行为: 2.在JS里 Person.name="zhang" ...

  9. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能

    前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...

  10. JS面向对象特性和值类型与复合类型

    JS面向对象之特性已经值类型与复合类型 一些属性 空对象 空对象也是对象, 只是有存变量的变量名, 没有对象属性 var o ={}; 参数传递 值类型: 函数内外两个变量, 两个数据, 都不相同 引 ...

最新文章

  1. docker 安装使用 solr
  2. 告诉你Hadoop是什么
  3. hdu_5085_Counting problem(莫队分块思想)
  4. QT的QRegularExpressionValidator类的使用
  5. HttpURLConnection解析
  6. sql 避免除0错误_设计简历时避免这3个常见的UX错误
  7. swf文件在线预览 html,在线浏览swf文件
  8. 【数据库】Mysql的CONCAT()函数拼接字符串
  9. 计算二个日期经过几月又几天
  10. it行业如何应对领导_什么是IT文化? 今天的领导者需要知道
  11. android 动画x轴旋转,android – 动画在视图之间转换,在z轴上旋转...
  12. 天涯上拣来的爱情哲学
  13. 计算机ei浏览器没有了,ie浏览器不见了_我的电脑桌面上怎么IE浏览器没有了啊...
  14. 网页播放的本地视频代码
  15. 偷看了女友的日记,我泪流满面【转载】
  16. proguard配置选项
  17. python 传感器数据结构_python奇遇记:数据结构窥探3
  18. 私货:广州化龙考场科目二介绍
  19. EXCEL函数:VLOOKUP、SUMPRODUCT使用记录
  20. 2021-01-03 SONiC SAI中的Bridge

热门文章

  1. python中txt转成csv_python 快速把超大txt文件转存为csv的实例
  2. VMDq (Virtual Machine Device Queue) in OpenSolaris
  3. 《老友记》vs《新旧走遍美国》
  4. html页面如何让图片居中,css中如何让图片居中?
  5. 测试用例(包含测经典试点全集图解,强烈建议保存收藏)
  6. 【python数据分析】数据如何进行合并
  7. 2.8.1 利用“直流扫描分析”测试基本共射放大电路电压传输特性
  8. 服务器柜机位置摆放电子图,柜式空调放在客厅什么地方好 客厅变频空调柜机正确摆放位置设计图...
  9. C语言 | 从指定字符串中删除指定字符
  10. 密信浏览器是什么?密信浏览器的主要特性 1