什么是对象
-
对象(object):JavaScript里的一种数据类型
-
可以理解为是一种无序的数据集合
-
用来描述某个事物,例如描述一个人
- 人有姓名、年龄、性别等信息、还有吃饭睡觉打代码等功能
- 如果用多个变量保存则比较散,用对象比较统一
-
比如描述 班主任 信息:
- 静态特征 (姓名, 年龄, 身高, 性别, 爱好) => 可以使用数字, 字符串, 数组, 布尔类型等表示
- 动态行为 (点名, 唱, 跳, rap) => 使用函数表示
使用对象
-
对象声明语法
-
let 对象名 = {}
-
-
对象有属性和方法组成
-
属性:信息或叫特征(名词)。 比如 手机尺寸、颜色、重量等…
-
方法:功能或叫行为(动词)。 比如 手机打电话、发短信、玩游戏
-
let 对象名 = { 属性名:属性值, 方法名:函数 } -
let dx = { uname:'张三', age:18, sex:'男' } -
数据描述性的信息称为属性,如人的姓名、身高、年龄、性别等,一般是名词性的。
-
属性都是成 对出现的,包括属性名和值,它们之间使用英文 : 分隔
多个属性之间使用英文 , 分隔
属性就是依附在对象上的变量(外面是变量,对象内是属性)
属性名可以使用 "" 或 '',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
-
-
属性访问
-
声明对象,并添加了若干属性后,可以使用 . 或 [] 获得对象中属性对应的值,我称之为属性访问。
简单理解就是获得对象里面的属性值。
-
-
对象中的方法
- 数据行为性的信息称为方法,如跑步、唱歌等,一般是动词性的,其本质是函数。
- 方法是由方法名和函数两部分构成,它们之间使用: 分隔
- 多个属性之间使用英文, 分隔
- 方法是依附在对象中的函数
- 方法名可以使用"" 或'',一般情况下省略,除非名称遇到特殊符号如空格、中横线等
-
对象中的方法访问
- 声明对象,并添加了若干方法后,可以使用. 调用对象中函数,我称之为方法调用。
- 注意:千万别忘了给方法名后面加小括号
操作对象
对象本质是无序的数据集合, 操作数据无非就是 增 删 改 查 语法:
新增属性
会去对象里面找是否有 这个属性,如果有则更新值修改
会去对象里面找是否有 这个属性,如果没有则新增这个属性
遍历对象
对象没有像数组一样的length属性,所以无法确定长度
对象里面是无序的键值对,没有规律。不像数组里面有规律的下标
let obj = {
uname:'zhangsan'
age:18,
sex:'男'
}
for (let k in obj) {
console.log(k) //打印属性名
console.log(obj[k]) 打印属性值
}
for (let k in 对象) { } //k是变量可以是任意名称
for (let k in obj) {
console.log(k) //打印出来的是属性名
}
内置对象
JavaScript Math 参考手册
Math对象是JavaScript提供的一个“数学高手”对象
提供了一系列做数学运算的方法
方法有:
-
random:生成0-1之间的随机数(包含0不包括1)
-
ceil:向上取整
-
floor:向下取整
-
max:找最大数
-
min:找最小数
-
pow:幂运算
-
abs:绝对值
console.log(Math.random())
console.log(Math.ceil(1.5)) //向上取整,返回整数
随机数生成
封装函数生成1~99随机数
function aaa (min,max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
let xxx = aaa(1,99)
console.log(xxx)
随机点名
function aaa (min,max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
let arr = ['赵云','黄忠','关羽']
let xxx = aaa(0, arr.length -1 )
document.write(arr[xxx])
随机点名改进不重复
function aaa (min,max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
let arr = ['赵云','黄忠','关羽']
let xxx = aaa(0, arr.length -1 )
// arr.splice(从哪开始删除,删除几个)
arr.splice(xxx,1)
console.log(arr)
猜数字游戏
<script>
// 随机数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
// 生成 1~10 之间的随机数
let random = getRandom(1, 10)
// console.log(random)
// 3. 用户输入 不断的弹框直到输入正确为止
while (true) {
let num = +prompt('请您输入一个数字:')
// 如果输入的大于随机数就提示猜大了
if (random < num) {
alert('私密马赛,你猜大了')
} else if (random > num) {
alert('比亚乃, 你猜小了')
} else {
alert(' 萨卡迪卡,正确')
break // break 退出循环 return 退出函数
}
// 如果输入的小于随机数就提示猜小了
// 如果输入的正好就提示正确
}
</script>