基本数据类型和引用数据类型
基本数据类型:string ,number,boolean,undefined,null,存放到栈里面
引用数据类型:通过 new 关键字创建的对象(系统对象、自定义对象),如 Object、Array、Date,存放到堆里面
简单数据类型存储的是值
let num1 = 10
let num2 = num1
num2 = 20
console.log(num1)
对象 引用数据类型 栈里面存储的是地址
let obj1 = {
age: 18
}
let obj2 = obj1
obj2.age = 20
// console.log(obj1, obj2)
console.log(obj1) // 20
数学内置对象
数学内置对象:
console.log(Math.PI) // 圆周率 π
console.log(Math.random()) // 随机数 随机抽奖 随机点名
// 返回的是小数 但是能得到 0 得不到 1
// 向上取整 返回的整数
console.log(Math.ceil(1.1)) // ceil 2
console.log(Math.ceil(1.5)) // ceil 2
// 向下取整 返回的整数 floor
console.log(Math.floor(1.1)) // floor 1
console.log(Math.floor(1.5)) // floor 1
// round 四舍五入 返回的整数
console.log(Math.round(1.1)) // round 1
console.log(Math.round(1.5)) // round 2
console.log(Math.round(-1.9)) // round -2
// 最大值和最小值
console.log(Math.max(1, 5, 9, 45))
console.log(Math.min(1, 5, 9, 45))
ceil 向上取整 console.log(Math.ceil(1.3)); 结果是2
floor 向下取整 console.log(Math.floor(2.3)); 结果是1
max 找最大值 console.log(Math.max(10, 30, 200, 50)); 结果是200
min 找最小值 console.log(Math.min(10, -30, 100, 50)); 结果是-30
pow 幂运算 不常用
abs 绝对值 不常用
随机数函数
//第一步:随机数
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)
遍历对象
作用:能够遍历输出对象里面的元素
遍历对象案例:
let person = {
name: '李狗蛋',
age: 18,
sex: '男'
}
for (let key in person) {
console.log(key); //打印的是属性名:name age sex
console.log(person[key]); //打印的是属性值‘李狗蛋’‘18’‘男’ 没有引号
console.log(person['key']); //错误写法,这样会直接去对象里面找key的属性的值,没有找到则是undefine
}
操作对象
let person = {
name: '李狗蛋',
age: 18
}
// 查:直接对象.属性即可
console.log(person.name);
// 改: 对象.属性 = 值 如果对象中没有设置的属性则会新增一个属性
person.sex = '男'
console.log(person);
// 增: 对象.属性 = 值 如果对象中有对应的属性则会更新属性值
person.age = 19
console.log(person);
// 删: delete 对象.属性
delete person.name
console.log(person);