**
一、Math
**
使用方法:
这是一个对象,使用时和对象的使用是一样的对象名.属性名;
对象名.方法名()
可参考:
Math详解
主要方法:
Math.PI: 这个就和Π是一样的
Math.floor() :向下取整,取整的小数向小的整数取整
Math.ceil() :向上取整,取整的小数只要存在小数位就想上取整,取大
还有各种方法,可参考上网站!!!
二、Date(年,月,日,时间等):
这其实就是一个构造函数
var 变量名 = new Date();
参考网站:
变量名.getMouth();
返回当前的月份,
注意:返回的月份为0~11,相当于数组的索引号,返回值最大为11,最小为0.所以我们在使用的时候要加1,如:变量名.getMouth() + 1;才可以返回正确的月份。
变量名.day();
这个是返回当前的星期,
注意 :这里返回的是0~6,星期日为0,星期一为1,星期六为6
三、时间戳:
时间戳是指:格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
书写格式:
var 变量名 = +new.Date();
注意:new前的+
返回当前时间到距离1970年1月1日的时间,单位为毫秒
括号()里也可以写时间 如
var 变量名 = +new.Date(‘2020-11-14 16:30;00’);
这里括号中写参数代表:括号中的时间到 1970年1月1日 的时间,单位为毫秒
例子:
倒计时案例制作(输入时间到现在时间)
<script>
function countDome(time) {
var nowTime = +new Date();//返回现在时间距离 1970年1月1日多少毫秒
var inputTime = +new Date(time);//返回输入时间距离 1970年1月1日多少毫秒
var times = (inputTime - nowTime) / 1000;//现在时间距离输入时间还有多少毫秒,/ 1000 将距离时间转化为秒
//下面再进行天,时,分,秒的转换
var d = parseInt(times / 60 / 60 / 24);//进行转换天数,由于时分秒都是整数,则用parseInt取正
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(countDome('2020-11-14 16:30:00'));
</script>
数组去重:
主要思路:通过遍历函数将数组中的每一个值进行遍历,并追加(push)给一个新数组,在追加过程中进行判断(利用indexOf()对数组进行查找,返回括号中元素的位置),如果新数组中没有,就可以进行追加,否则不进行追加。
var arr = ['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b'];
var newArr = [];//定义一个新数组
for(var i = 0; i < arr.length; i++) {
if(arr.indexOf(i)) {//进行判断。判断新数组中是否存在arr[i]元素
newArr.push(arr[i]);//如果没有将元素进行追加
}
}
alert(newArr);//输出新数组
统计出现最多次的字符和次数:
算法思路:
(1,找出出现最多的字符)利用charAt(i) 对字符串进行遍历,返回i对应的字符。新建一个空的对象,将遍历的字符给对象的属性,对遍历的数组进行判断,如果新建空对象有属性值,代表新的空对象中存在这个字符串,则这个属性值进行+1计数。如果没有,给该属性值进行赋值=1,则代表该字符串在新的空对象中第一次出现。通过循环再次出现该属性值,则在原来的基础上进行+1(到了if)。
(2、进行计算次数)通过遍历对象,for(var k in 对象名)这个方法,对属性进行一一比较算出最大值(通过求最大值的方法),并输出。
代码实现:
var str = 'abcoefoxyozzopp';
var obj = {};//建立一个空的对象
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i);//通过遍历,利用charAt这个方法,通过索引号返回每个索引号对象的字符串,并赋值给chars
if (obj[chars]) {//判断对象o里是否存在属性char,存在在原来的基础上自加
obj[chars]++;
} else { //不存在将1赋值给o【chars】,代表有一个
obj[chars] = 1;
}
}
//遍历对象,求最大值,遍历用for(var k in 对象名)
var max = 0;
var ch = '';
for (var k in obj) {//题目要 输出 出现的次数 和 字符串,则我们要求属性值,也要输出对应的字符串
if (obj[k] > max) { //obj[k]返回的是属性值
max = obj[k];//输出最大属性值
ch = k;//输出最大属性值的属性名,注意:k只在fou循环里才有作用,所以要赋值给新变量
}
}
console.log(obj);
console.log('出现最多的是' + ch + '出现了' + max);
这是我在学习时记得笔记,希望对正在学习的同学有所帮助,我也是一个初学者,在学习和记录的过程中可能存在错误,希望各位指出错误!!!