对象(复合数据类型)
对象:描述一个事物 的特征和行为 整体
特征:属性
行为:方法
系统对象:数组 日期 正则 函数
自定义对象
var 对象名={
属性:值,
属性2:值2,
方法:function(){}
}
怎么使用 属性 和方法:
对象名.属性名 获取属性的值
对象名.方法名() 调用 方法
外部设置 属性 和方法:
对象名.属性名=值 (如果属性不存在,新增一个属性,存在,更改属性的值)
对象名.方法名=function(){} 方法存在,覆盖原来的方法,不存在,增加一个方法
Math对象
Math对象所有的api,都不支持new一个对象来使用,而是直接通过构造函数来使用
Math.random()
Math对象常用api
-
Math.random() //返回0-1之间的随机数 [0,1)
-
Math.round(3.6) //四舍五入 4
-
随机数如何设定范围
固定套路:任意 min max之间取随机整数
Math.floor(Math.random()*(max-min)+min);
0-10之间的数
5-10之间的数
10-20之间的数
- max(num1, num2) //返回较大的数
- min(num1, num2) //返回较小的数
- abs(num) //绝对值
- ceil(19.3) //12 向上取整
- floor(11.8) //11 向下取整
- Math.PI // π值;
- Math.pow(底数,幂数) Math.pow(2,3)
Date对象
日期对象的创建
类型使用自 CTU(Coordinated Universal Time,国际协调时间)1970 年 1 月 1 日午夜(零时)开始经过的毫秒数来保存日期。Date 类型保存的日期能够精确到 1970 年 1 月 1 日之前或之后的 285616 年。
-
var d=new Date( );` 不传递任何参数默认返回当前时间
-
var d=new Date( '2015/12/2');
在传入参数的情况下,获得的是传入的时间01,不传参 var now = new Date() //当前时间 02,传参 自定义时间 传字符串 var date = new Date("2019/11/11[ 12:12:12]"); 传数字 多个参数 var date = new Date(yyyy,MM,dd,hh,mm,ss);//月份-1 时间戳: 距离1970年1月1日毫秒数 日期对象 date.getTime() 获取时间戳 传一个时间戳 var date = new Date(时间戳);
日期对象常用api
获取:
d.getFullYear() 获取当前的四位数年份
d.getMonth() 获取当前的月份 (从0开始) +1
d.getDate() 获取当前的日期
getDay() 获取星期 0 - 6
getHours() 获取时
getMinutes() 获取分钟
getSeconds() 获取秒
设置:
setFullYear() 设置年份 参数四位数年份
setMonth() 设置月份 参数 0-11
setDate() 设置 日期 **** 1-31
五天以后的时间
...
toString()
toLocaleString() 转换成本地格式的时间
toLocaleDateString() 转换成本地格式的时间 去掉 时分秒
toGMTString() 格林尼治标准时间 世界时
将日期格式化成字符串
要求封装函数,实现格式化日期格式
日期转为毫秒数
-
Date.parse("2015-08-24")
获取1970年到设定时间的毫秒数 -
Date.getTime()
时间戳计算两个日期的时间差值
function count(){ var date1=new Date(2010,10,3); var date2=new Date(2017,9,24); var date=(date2.getTime()-date1.getTime())/(1000*60*60*24);/*不用考虑闰年否*/ alert("相差"+date+"天"); }
日期差值;
var date1 = new Date('2013/04/02 18:00') var date2 = new Date('2013/04/02 19:22:21') var s1 = date1.getTime(),s2 = date2.getTime(); var total = (s2 - s1)/1000; var day = parseInt(total / (24*60*60));//计算整数天数 var afterDay = total - day*24*60*60;//取得算出天数后剩余的秒数 var hour = parseInt(afterDay/(60*60));//计算整数小时数 var afterHour = total - day*24*60*60 - hour*60*60;//取得算出小时数后剩余的秒数 var min = parseInt(afterHour/60);//计算整数分 var afterMin = total - day*24*60*60 - hour*60*60 - min*60;//取得算出分后剩余的秒数
事件对象
类似于飞机的“黑匣子” 用于保存 一个事件发生的时候,所有的信息
比如:事件发生时鼠标的坐标
如何获取事件对象:
兼容性问题:在不同浏览器上 获取方法不一样
在IE 以及DOM标准:全局的对象(window下) 名字event
在高版本IE 以及 chrome 不支持event来获取事件对象的,另外一种方式
自动变成事件函数的第一个参数(这个参数就是事件对象)
兼容性写法:
btn.onclick=function(ev){
var e = ev || event;
}
注意:
只有事件发生的时候,写在事件函数中,event保存的就是当前事件的所有的信息