关于对象object的分析说明
1.1 对象是什么
⚫ 对象(object):JavaScript里的一种数据类型
⚫ 可以理解为是一种无序的数据集合
⚫ 用来描述某个事物,例如描述一个人
➢ 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能
➢ 如果用多个变量保存则比较散,用对象比较统一
⚫ 比如描述 小明 信息:
静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
动态行为 (点名, 唱, 跳, rap) => 使用函数表示
2.对象的调用
语法:
3.对象的增删改查操作方法
对象的增删改查 案例分析
4.遍历对象
1.利用for in 遍历对象 key 代表属性名
2.在遍历对象的时候 不能用对象名 .key的这种方式来获取属性值,否则会被认定为未被定义的属性名
遍历对象案例分析
数学内置对象 Math
Math.random 随机数 (生成0-1之间的随机数 包括0 不包括1)
随机数案例分析:
<script>
// 0 - 10的随机数
// Math.random() -> [0, 1)
// Math.random() * 10 -> [0,10)
// 向下取整 Math.floor()
// Math.random() * 11 -> [0,11)
console.log(Math.floor(Math.random() * 11));
// 5 - 10的随机数
// 0 - 5的随机数 + 5
console.log(Math.floor(Math.random() * (5 + 1)) + 5);
// 3 - 5的随机数 先做 0 - 2的随机数 Math.floor(Math.random() * (2 + 1))+3
// min - max 的随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
console.log(getRandom(20, 40))
</script>
生成 m-n 的随机数 Math.floor(Math.random() * (M - N + 1)) + N
Math.ceil 向上取整
Math.floor向上取整
Math.max 找最大数
Math.min 找最小数
Math.abs 绝对值
1.猜数字游戏案例
<script>
// 随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
// 声明一个当前游戏的数字答案
let res = getRandom(1, 100)
// 声明变量 如果是错的 就继续执行循环
let isWrong = true
//用while是不知道要循环几次,用for是明确循环次数
while (isWrong) {
let num = +prompt('请您输入数字')
// 判断 分支-> num > res ->您输入的数字太大了 num < res ->您输入的数字太小了
// num === res 您猜对了可真聪明,跳出循环break; isWrong = false
if (num > res) {
alert('您输入的数字太大了,再来一次吧')
} else if (num < res) {
alert('您输入的数字太小了,再来一次吧')
} else if (num === res) {
alert('您猜对了可真聪明')
// 退出循环
break
// isWrong = false
}
}
</script>
2.随机点名不重复的案例分析
<script>
// 随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
// 声明一个数组
let arr = ['赵云', '黄忠', '关羽', '张飞', '马超', '刘备', '曹操']
// 生成1个随机数 作为数组的索引号
let random = getRandom(0, arr.length - 1)
// console.log(random)
document.write(arr[random])
// 之后删除这个 人的名字
// arr.splice(从哪里开始删, 删几个)
arr.splice(random, 1)
console.log(arr);
</script>
堆栈空间分配区别
1、简单数据类型存放到栈里面:数字,字符串,布尔值,未定义,空. 值类型变量的数据直接存放在变量(栈空间)中
2、引用数据类型存放到堆里面: arr,object,function 引用类型变量(栈空间)里存放的是地址,真正的对象实例存放在堆空间中