对象:数据的无序集合。由若干条属性构成的,每一条属性都有属性名和属性值。
对象的声明
空对象
{}
var o = {
name:"王大伟",
age:18,
sex:"male",
city:"朝阳",
married:false,
students:["姚立峰","许佩"],
//方法
sayHello:function(){
alert("王大伟对说了个hello");
return 1;
}
}
对象的查询
找o对象的sex属性
console.log(o.sex)
先从js执行环境上下文中找sex变量,看它等于什么(m),然后再去o对象中找名字叫m的属性
console.log(o[sex])
等价于第一种写法,直接去o对象中寻找sex属性
console.log(o["sex"])
对象的修改
o.age = 19;
o.age++;
o["city"] = "西安";
console.log(o)
对象的添加
o.height = 180;
对象的删除
delete o.students
对象的枚举
循环次数取决于对象属性的条数,每次进来的时候变量都代表属性名
for(var i in o){
试图从对象中去找属性名叫i的属性
console.log(o.i)
console.log(o[i])
}
如果某条属性的属性值是一个函数,那么我们一般称这条属性为方法。
试图调用某个对象中一个不存在的方法是时,程序会报错:xxx.xxx is not a function
试图查找某个对象中不存在的属性时,程序不会报错,表达式返回undefined
对象的种类
* 自定义对象
* 内置对象
Math对象
* PI 返回圆周率
* abs() 取绝对值
* ceil() 向上取整
* floor() 向下取整
* round() 四舍五入
* max() 从实参列表中返回最大值
* min() 从实参列表中返回最小值
* random() 返回0-1(不包含1)的随机小数
Date对象
* getFullYear()
* getMonth() + 1
* getDate()
* getHours()
* getMinutes()
* getSeconds()
* getDay()
* getTime() 返回时间戳,1970年1月1月00:00:00到日期对象所经过的毫秒数
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var ri = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
var week = date.getDay();
设置目标时间的简便方式
var target = new Date("2020/08/18 00:00:00");
计时器:每隔一段时间执行一段逻辑(函数)
```
每个间隔时间就会执行一次函数
setInterval(函数引用,间隔时间)
```