一.对象(object)
- 对象是一种无序数据的集合,是一种数据类型
- 对象的声明语法: 1.let 对象 = {} 2. let 对象名 = new Object( )
let 对象名 ={
属性名:属性值,
方法名:函数
}
1. 属性都是成对出现的,包括属性名和值,它们之间使用英文 : 分隔
2. 多个属性之间使用英文 , 分隔
3. 属性就是依附在对象上的变量(外面是变量,对象内是属性)
对象的使用方法:
-
查询对象: 对象名 .属性
-
修改对象: 对象名. 属性
-
增加对象新的数据: 对象名. 新属性名 = 新值
-
删除对象中的属性: delete.对象名.属性名
const obj = { uname: '刘德华', age: 18, love: '唱歌', dengger: '男' } // 给对象增加属性 obj.car = '宝马5系' // 给对象修改属性 obj.love = '跳舞' console.log(obj);
遍历数组:
-
遍历数组方法:for... in
-
for in语法中的k是一个变量,在循环的过程中代表对象的属性名
-
由于k是变量,所以必须使用{}语法解析
-
注意关键:是获取对象的属性名,对象名[k]是获得属性值
let get = { name: '刘德华', age: 20, sing: '唱歌', home: '中国' } for (let k in get) { // 打印属性名 console.log(k); // 打印属性值 console.log(get[k]); }
内置对象:
Math 是 JavaScript 中内置的对象,称为数学对象,这个对象下即包含了属性,也包含了许多的方法。
-
Math.PI,获取圆周率
// 圆周率 console.log(Math.PI);
-
Math.random,生成 0 到 1 间的随机数
// 0 ~ 1 之间的随机数, 包含 0 不包含 1 Math.random()
-
Math.ceil,数字向上取整
// 舍弃小数部分,整数部分加1 Math.ceil(3.4)
-
Math.floor,数字向下取整
// 舍弃小数部分,整数部分不变 Math.floor(4.68)
-
Math.round,四舍五入取整
// 取整,四舍五入原则 Math.round(5.46539) Math.round(4.849)
-
Math.max,在一组数中找出最大的
// 找出最大值 Math.max(10, 21, 7, 24, 13)
-
Math.min,在一组数中找出最小的
// 找出最小值 Math.min(24, 18, 6, 19, 21)
-
Math.pow,幂方法
// 求某个数的多少次方 Math.pow(4, 2) // 求 4 的 2 次方 Math.pow(2, 3) // 求 2 的 3 次方
-
Math.sqrt,平方根
// 求某数的平方根 Math.sqrt(16)
简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型。
- 值类型:简单数据类型/基本数据类型,在存储时变量中存储的是值本身,因此叫做值类型 string ,number,boolean,undefined,null
- 引用类型:复杂数据类型,在存储时变量中存储的仅仅是地址(引用),因此叫做引用数据类型 通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date
堆栈空间分配区别:
1、栈(操作系统):由操作系统自动分配释放存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈; 简单数据类型存放到栈里面
2、堆(操作系统):存储复杂类型(对象),一般由程序员分配释放,若程序员不释放,由垃圾回收机制回收。 引用数据类型存放到堆里面
简单数据类型的内存分配:
- 值类型(简单数据类型): string ,number,boolean,undefined,null
- 值类型变量的数据直接存放在变量(栈空间)中
编辑
复杂类型的内存分配:
- 引用类型(复杂数据类型):通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date等
- 引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中
编辑