什么是js面向对象?有什么特点?
什么是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面向对象?有什么特点?相关推荐
- JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...
6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...
- JS面向对象一:MVC的面向对象封装
JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...
- java实现选项卡定时轮播_原生js面向对象编程-选项卡(自动轮播)
原生js面向对象编程-选项卡(自动轮播) }#div1 input{color:#fff;width:100px;height:40px;background:darkseagreen;border: ...
- js面向对象程序设置——创建对象
<script type="text/javascript"> //工厂方式 //1.原始方式 /* var ...
- 简单粗暴地理解js原型链–js面向对象编程
简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...
- 对js面向对象的理解
转自:http://www.cnblogs.com/jingwhale/p/4678656.html js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP ...
- JS面向对象的程序设计之继承-继承的实现-借用构造函数
JS面向对象的程序设计之继承-继承的实现-借用构造函数 前言:最近在细读Javascript高级程序设计,对于我而言,中文版,书中很多地方翻译的差强人意,所以用自己所理解的,尝试解读下.如有纰漏或错误 ...
- js面向对象与PHP面向对象总结
js面向对象: 1.什么是对象? 对象:任何实体都是对象,拥有属性和方法两大特征 属性:描述事物的特点: 方法:实物拥有的行为: 2.在JS里 Person.name="zhang" ...
- ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
前两篇文章主要介绍了类和对象.类的继承,如果想了解更多理论请查阅<ES6学习笔记(一):轻松搞懂面向对象编程.类和对象>.<ES6学习笔记(二):教你玩转类的继承和类的对象>, ...
- JS面向对象特性和值类型与复合类型
JS面向对象之特性已经值类型与复合类型 一些属性 空对象 空对象也是对象, 只是有存变量的变量名, 没有对象属性 var o ={}; 参数传递 值类型: 函数内外两个变量, 两个数据, 都不相同 引 ...
最新文章
- Java复制目录/子目录/文件
- windows下安装和配置Redis
- (转)MySQL 服务器内存使用
- 希腊字母常用指代意义及其中文读音
- 小程序上拉加载,下拉刷新
- php zip 编码,encoding - 用PHP如何检测一个ZIP包内的文件是在何种编码的系统下创建的...
- 使用 Azure CLI 将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager 部署模型
- 强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!
- 推荐系统组队学习——协同过滤
- 基于RV1126平台imx291分析 --- imx291注册
- 系统分析和设计方法之数据建模和分析
- 计算机 运行新ie 命令,怎样修复ie浏览器-运行什么命令可以修复IE浏览器,请说的详细 – 手机爱问...
- ros路由器l5和l6的区别_ESXI安装Mikrotik RouterOS(ROS)软路由部署指南(附授权镜像下载)...
- 通信工程专业选修java_北邮通信工程专业选修课心得分享
- 史玉柱自述创业历程,我思故我在
- 腾讯音乐路演PPT曝光:发行区间13至15美元 下周上市
- android创建平板模拟器,模拟器创建
- 2022最新圣诞节代码:圣诞树
- 计算机网络考研_概述
- Coursera | Applied Data Science with Python 专项课程 | Applied Machine Learning in Python