JavaScript起步(十一-对象)| 一起学系列

109 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情

  • 什么是对象

    • 在实际开发中,对象是一个抽象的概念,可以将其简单理解为:数据集或功能集

    • ECMAScript-262把对象定义为:无序属性的集合(相对应的是数组-有序集合),其属性可以包含基本值、对象或函数

  • 什么是面向对象

    • 面向对象编程-Object Oriented Programming,简称opp,是一种编程开发思想

    • 它将真实世界各种复杂的关系,抽象为一个对象,然后由对象之间的分工与合作,完成对真实世界的模拟 image.png 面向过程相当于是人工扫地

  • 面向对象和面向过程对比

    • 面向过程就是亲力亲为,事无巨细,面面俱到,步步紧跟,有条不紊

    • 面向对象就是找一个对象,指挥得到结果

    • 面向对象将执行者转变成指挥者

    • 面向对象不是面向过程的替代,而是面向过程的封装

  • 总结

    • 在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工,可以完成接收信息、处理数据、发出信息等任务

    • 因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开发,比起由一系列函数或指令组成的传统的过程式编程(procedural programming),更适合多人合作的大型软件项目

  • 为什么要有对象

    • 如果有一组相关的数据,松散的存储不利于使用,存入数组中受下标限制又必须有固定的顺序,而对象可以自定义名称存储一系列无序的相关数据
  • JavaScript中的对象

    • 是无序属性的集合

    • 其属性可以包含基本值、对象或函数。对象就是一组没有顺序的值。可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数

    • 对象的行为和特征:

      • 特征:在对象中用属性表示(比如某一个动物的长相,体型,通过长相可以区分是哪种动物)

      • 行为:在对象中用方法表示(比如某一个动物的状态,如奔跑、休息)

    • 区分属性和方法:

      • 属性:对象的描述性特征,一般是名词,相当于定义在对象内部的变量

      • 方法:对象的行为和功能,一般是动词,定义在对象中的函数😄

  • 对象遍历

    • for in 循环也是循环的一种,专门用来遍历对象,内部会定义一个k变量,k变量在每次循环时会从第一个开始接收属性名,一直接收到最后一条属性名,执行完后跳出循环

    • 简单的循环遍历:输出每一项的属性名和属性值

    • for( var k in obj){ console.log( k + “项的属性值是” + obj[k]);} // k 存储的是每一条数据的属性名或方法名