属性和方法是在对象里面的,必须搭配对象使用
变量和函数是单独存在的,可以单独使用
一、创建对象的三种方法:
1.利用对象字面量创建对象{}
var obj = {};
2.利用new Object 创建对象
var obj2 = new Object();
3. 构造函数的语法格式
function 构造函数名() {
this.属性 = 值;
this.方法 = function() {}
}
new 构造函数();
二、遍历对象
使用for(var k in 对象){ } k得到了属性名 对象[k] 是属性值
三、Math对象(不是一个构造函数可以直接使用 无需new就可以使用)
console.log(Math.PI); //一个属性 圆周率
console.log(Math.max(1, 22)); //一个方法
console.log(Math.max()); //NaN
console.log(Math.abs('-1')); //1取绝对值,有隐式转换会将字符型的数字转换为数字型的
console.log(Math.floor(1.9)); //1 向下取整
console.log(Math.ceil(1.3)); //2 向上取整
console.log(Math.round(1.9)); //2 四舍五入
console.log(Math.round(-1.5)); //-1 .5是往大的取
random()返回一个随机小数 [0,1)
运用得到两个数之间的随机数,包括这两个数
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
四、Date日期对象(是一个构造函数 必须使用new 来调用创建对象)
不加参数就是输出系统的当前时间
var date = new Date();
console.log(date);
console.log(date.getFullYear()); //得到当前日期的年份
console.log(date.getMonth() + 1); //得到当前日期的月份(因为getMonth中的月份是0-11的所以要加一)
console.log(date.getDate()); //返回 几号
console.log(date.getDay()); //返回星期几 周日是0
//格式化日期
var arr = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date.getDay();
console.log('今天是' + date.getFullYear() + '年' + (date.getMonth() + 1) + '月' + date.getDate() + '日' + arr[day]);
//格式化时分秒
var h = date.getHours();
h = h < 10 ? '0' + h : h;
var m = date.getMinutes();
m = m < 10 ? '0' + m : m;
var s = date.getSeconds();
s = s < 10 ? '0' + s : s;
console.log(h + ':' + m + ':' + s);
//加参数的写法 数字型 2019,10,01 或者是 字符串型的'2019-10-1 8:8:8'
var date1 = new Date('2022-3-14 15:22');
获取当前时间相较于1970.1.1毫秒数的方法:
1.date.valueOf() 2.date.getTime()3.var date1 = +new Date();(最常用的) 4.Date.now() (H5新增的,只适用于高版本浏览器)
倒计时算法:
function countDown(time) {
var nowtime = +new Date(); //当前时间的总毫秒数
var inputtime = +new Date(time); //输入时间的总毫秒数
var times = (inputtime - nowtime) / 1000; //换成秒数
var d = parseInt(times / 60 / 60 / 24); //天数
d = d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24); //小时
h = h < 10 ? '0' + h : h;
var m = parseInt(times / 60 % 60); //分钟
m = m < 10 ? '0' + m : m;
var s = parseInt(times % 60); //秒
s = s < 10 ? '0' + s : s;
return d + '天' + h + '小时' + m + '分钟' + s + '秒';
}
console.log(countDown('2022-3-15 14:1:1'));