10.对象 object
10-1对象概念
- 对象(object):JavaScript里的一种数据类型
- 可以理解为是一种 无序的数据集合
- 用来描述某个事物,例如描述一个人
- 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能
- 如果用多个变量保存则比较散,用对象比较统一
- 比如描述 班主任 信息:
- 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
- 动态行为 (点名, 唱, 跳, rap) => 使用函数表示
10-2对象使用
- 语法: let 对象名 = {}
- 属性:数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。
- 属性都是成对出现的,包括属性名和值,它们之间使用英文:分隔
- 多个属性之间使用英文,分隔
- 属性就是依附在对象上的变量 (外面是变量,对象内就是属性)
- 属性名可以使用''或"",一般情况下省列,除非名称遇到特殊符号如空格、中横线等
- 方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏…
10-3操作对象
- 查询对象
- 对象.属性 或者 对象[‘属性’]
- 对象.方法()
- 重新赋值
- 对象.属性 = 值
- 对象.方法 = function() {}
- 添加属性
- 对象名.新属性名 = 新值
- 删除属性
- delete 对象名.属性名
let person = {
name : '张三',
sayHi : function(){ //匿名函数
return '大家好'
}
}
person.sayHi();//调用方法
// 查看对象属性
console.log(person.name);
// 增加一个新的属性
person.age=30;
// 修改一个属性
person.sayHi='你好'
// 删除对象属性
delete person.sayHi
// 增加属性和修改属性都是同样的写法
// 如果改属性对象中没有则为增加
// 如果该属性对象中已经存在则为重新赋值
console.log(person);
10-4遍历对象
10-5内置对象
// Math js内置的数学对象 里面会包含有关于数学操作的相对 方法或者属性
// 常用
// random() 返回一个随机数 包含0 不包含1
// console.log(Math.random());
// Math.ceil(0.1) = 1 Math.ceil(0.001) = 1
// console.log(Math.ceil(0.1)); // 我能吃西瓜 一次就1个半西瓜 去外面商品买西瓜 = 2
// 下取整
// console.log(Math.floor(1.9)); // 0
// 四舍五入
// console.log(Math.round(0.4));
// 求最大值 数学对象内置有方法 算出来 最大值和最小值
// console.log(Math.max(1,2,3,4,5,6,77,4));
// 最小值
// console.log(Math.min(1,2,3,4,5,6,77,4));
// 幂运算 对某个数字 平方 或者 立方。。。
// 2 平方 = 2 * 2
// 2 立方 = 2 * 2 * 2
// console.log(Math.pow(2, 3)); // 2立方 3个2相乘
// console.log(Math.pow(2, 2)); // 2平方
// console.log(Math.pow(3, 2)); // 3 的平方
// 绝对值 -1 = 1 -2 = 2
// console.log(Math.abs(-2));
// console.log(Math.abs(-3));
随机数公式
//第一种方法:Math.random()*(最大值-最小值+1)+最小值
console.log(Math.random()*(M-N+1)+N);
//第二种方法:Math.round(Math.random()*(最大值-最小值)+最小值)
console.log(Math.round(Math.random()*(M-N)+N);