JSDay5:对象

85 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

  • 补充 image.png

为了避免用户不输入数据造成问题,直接给形参初始值,且不影响实参给形参的赋值。

一、对象

1. 是什么?

对象(object):JavaScript里的一种数据类型,可以理解为是一种无序的数据集合

2. 对象的使用

对象声明语法:

let 对象名 = { 
    属性名:属性值
    方法名:函数
}

(1) 属性: 数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。

访问属性方法:

  • 对象.属性
  • [] 形式

对象[‘属性’] (2) 方法: 数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。

image.png (删增可在任意位置)

image.png

3. 对象的遍历

    for(let k in 对象名){
        console.log(对象名[k])
    }

k === '属性名' 对象名[k] === 对象名['属性名']

  • 例如:

image.png

数组对象:

let 对象名 = [
    {属性名:属性值, , , },
    {……}
]
// 定义一个存储了若干学生信息的数组

let students = [

{name: '小明', age: 18, gender: '男', hometown: '河北省'},

{name: '小红', age: 19, gender: '女', hometown: '河南省'},

{name: '小刚', age: 17, gender: '男', hometown: '山西省'},

{name: '小丽', age: 18, gender: '女', hometown: '山东省'}

]

image.png

内置对象:

1、Math

Math对象是JavaScript提供的一个“数学高手”对象,提供了一系列做数学运算的方法

方法有:

  • random:生成0-1之间的随机数(包含0不包括1)

  • ceil:向上取整

  • floor:向下取整

  • max:找最大数

  • min:找最小数

  • pow:幂运算

  • abs:绝对值

  • Math对象在线文档

如何生成0-10的随机数呢?

Math.floor(Math.random()*(10 + 1))

如何生成5-10的随机数?

Math.floor(Math.random()*(5 +1)) + 5

如何生成N-M之间的随机数

Math.floor(Math.random()*(M -N + 1)) + N

image.png

基本数据类型,引用类型。

1. 基本数据类型:值类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型(传递的是值,按值传递)

string ,number,boolean,undefined,null

2. 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型(传递的是地址)

通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等

3、栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中

的栈;

简单数据类型存放到栈里面

4、堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。

引用数据类型存放到堆里面

image.png

image.png

image.png

image.png

由于是按值传递:num2 = 10(只修改了自己的值,num2只是复制了num的值) 由于是传递地址: obj2.age = 18 (相同地址指向同一个数据,修改了数据)