对象
JavaScript里的一种数据类型,可以理解为一种无序的数据集合;用来描述某个事物。
对象的使用
对象的声明:
let 对象名 = {成员属性}
let person = {}
let 对象名 = new Object()
对象有属性和方法组成:
- 属性:信息或特征
- 数据描述性的信息称为属性,如:人的姓名,身高,年龄…
- 属性都是成对出现的,包括属性名和值,他们之间使用英文==:==分隔
- 多个属性之间使用英文==,==分隔
- 属性就是依次附在对象上面的变量(外面是变量,对象内是属性)
- 属性名可以使用==" "或者’ '==,一般情况下省略,除非名称遇到特殊符号,如:空格中横线等
- 数据描述性的信息称为属性,如:人的姓名,身高,年龄…
- 方法:功能或行为
let 对象名 = {
属性名 :属性值,
方法名 : 函数
}
let obj = {
name : 'jack',
sex : '男',
weight : '70'
}
对象的操作
查询对象属性值
声明对象,并添加了若干属性后,可以使用 . 获得对象中属性对应的值,称之为属性访问
语法:
①:
对象.属性;
console.log(obj.name);//jack
②:当属性名有引号时,使用该种方式(遍历对象)
对象名['属性名']
更改对象属性值
语法:
对象名.属性 = 新值;
obj.weight()=62;
console.log(obj.weight);//62
增加对象属性值
语法:
对象名.属性名 = 值;
obj.hight = 171;
console.log(obj.hight);//171
改和增的语法一样,判断标准就是对象有没有这个属性,没有就是新增,有就是改
删除对象的属性值
语法:
delete 对象名.属性;
delete obj.hight;
对象中的方法
数据行为的信息称为方法,如跑步,唱歌等,一般是动词性的,其本质是函数
- 方法是由方法名和函数两部分构成,他们之间用==:==分隔
- 多个方法之间用英文==,==分隔
- 方法是依附在对象中的函数
- 方法名可以使用==" "或’ '==,一般情况下省略,除非名称遇到特殊符号,如空格,中横线等
let person = {
name : 'jack',
sayHi:function(){//可以传入参数
document.write('Hi~~');
}
}
person.sayHi();
遍历对象
对象里面是无序的键值对,没有规律。不像数组里面有规律的下标;没有length属性,无法确定长度
遍历对象:
let obj ={
name : 'jack',
age : 15,
sex : '男'
}
for(let k in obj){
console.log(obj[k]);
}
- 一般不用这种方式遍历数组,主要是来遍历对象。
- for in语法中的key是一个变量,在循环的过程中,依次代表对象的属性名。
- 由于key是变量,所以必须用==[ ]==语法解析。
- 一定要记住:k是获得对象的属性名,==对象名[k]==是获得属性值。
内置对象
JavaScript内部提供的对象,包含各种属性和方法给开发者调用;document.write();console.log()
Math
Math对象是JavaScript提供的一个"数学"对象,提供了一些列做数学运算的方法
Math对象包含的方法有:
-
ceil(num):向上取整
-
floor(num):向下取整
-
round(num):四舍五入
-
max(num1,num2,…):找最大数
-
min(num1,num2,…):找最小数
-
pow(底数,次方):幂运算
-
sqrt(num):平方根
-
abs(num):绝对值
-
random():生成0-1之间的随机数(包含0,不包括1)
-
Math.random()//取0~1之间的小数 Math.floor(Math.random*(10+1))5//生成0-10的随机数 Math.floor(Math.random*(5+1))+5;//生成5-10的随机数 Math.floor(Math.random*(M-N+1))+N;//生成N-M的随机数 function getRandom(N,M){ return Math.floor(Math.random*(M-N+1))+N; }
-