break、return和continue的区别
相同点:
三者都可以改变程序的执行流程
不同点:
1、break 用于循环语句和switch语句
break用于跳出循环语句(即终止循环语句)或跳出switch语句
break语句之后没有使用任何标签时用于跳出循环或switch语句
break语句之后有标签时用于跳出标签所标记的循环语句
2、continue用于循环语句
continue用于略过本次循环中的后续语句进行下次循环
continue语句之后没有使用任何标签时用于略过本次循环后续语句进入下次循环
continue语句之有标签时用于略过后续语句进入标签所标记循环的下次循环
3、return用于方法体中
return可用于返回数据
return可将当前正在执行的方法终结
//日期对象
Date 对象和Math对象不一样,Date是一个构造函数,所以使用时需要实例化后才能使用其中具体方法和属性。
Date实例用来外理日期和时间
*使用Date实例化日期对象
获取当前时间必须实例化:
var now=new Date();
获取指定时间的日期对象
var future=new Date('2019/5/10');
注意:如果创建实例时并未传入参数,则得到的日期对象是当前时间对应的日期对象
使用Date实例的方法和属性
*通过Date实例获取总毫米数
总毫秒数的含义
基于1970年1月1日(世界标准时间)起的毫秒数
*获取总毫秒数
// 实例化Date对象
var now=newDate();
//1.用于获取对象的原始值
console.log(date.valueOf()) ;
console.log(date.getTime());
//2.简单写可以这么做
var now=+new Date();
//3.HTML5中提供的方法,有兼容性问题
var now=Date.now();
日期函数
<script>
var date = new Date();
console.log(date.getFullYear());//获取年份
console.log(date.getMonth()+1);//获取月份
console.log(date.getDate());//获取日期
console.log(date.getDay());//周几
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getMilliseconds());//返回 Date 对象中用本地时间表示的毫秒值
</script>
倒计时效果
<script>
//Teacher
/* ***方法1*** */
var now = +new Date();
function getDateTime(time){
var futime = +new Date(time);
var chtime = (futime - now) / 1000; //转化成秒数
var days = parseInt(chtime / 60 / 60 / 24); //天数
days = days <10?'0'+days:days
var hours = parseInt(chtime / 60 / 60 % 24); //小时数
var mins = parseInt(chtime / 60 % 60); //分钟数
var seconds = parseInt(chtime % 60); //秒数
console.log('距离'+time+'还有'+days+'天'+ hours + '小时' + mins + '分钟' + seconds + '秒');
}
getDateTime('2022-6-18');
/* ***方法2***
//获取当前时间的毫秒数
var now = +new Date();
//获取618当天时间的毫秒数
var futime = +new Date('2022-6-18');
console.log(now);
console.log(futime);
//求时间差(毫秒数)
var chtime = futime - now;
//转化成秒数
var chtime = (futime - now) / 1000;
//天数
var days = parseInt(chtime / 60 / 60 / 24);
//小时数
var hours = parseInt(chtime / 60 / 60 % 24);
//分钟数
var mins = parseInt(chtime / 60 % 60);
//秒数
var seconds = parseInt(chtime % 60);
console.log('距离618还有' + days + '天' + hours + '小时' + mins + '分钟' + seconds + '秒'); */
</script>
***数组对象
**检测是否为数组
*instanceof运算符
instanceof可以判断一个对象是否是某个构造函数的实例
*Arrary.isArray()
Arrary.isArray()用于判断一个对象是否为数组,isArray()是html5中提供的方法
<script>
/* instanceof运算符 */
var arr = [1,23];
var obj = {};
console.log(arr instanceof Array);//true
console.log(obj instanceof Array);//false
/* Array.isArray() */
var arr = [1,23];
var obj = {};
console.log(Array.isArray(arr));//true
console.log(Array.isArray(obj));//false
</script>
***添加删除数组元素的方法
*数组中有进行增加、删除元素的方法
JS pop push unshift shift的作用与区别
这四种方法会直接修改数组
pop和shift一组,理解为推出数组中已有元素。
push:在数组的尾部加入一个元素,并返回原有length+1的长度
var arr=[1,2,3];
console.log(arr.push(4));//4
console.log(arr);//[1234]
unshift:在数组的头部加入一个元素,并返回原有length+1的长度
var arr = [1,2,3];
console.log(arr.unshift(4));//4
console.log(arr);//[4,1,2,3]
pop:删除数组尾部第一个元素,并返回这个元素
var arr = [1,2,3];
console.log(arr.pop())://3
console.log(arr);//[1,2]
shift:删除数组头部的第一个元素,并返回这个元素
var arr = [1,2,3]:
console.log(arr.shift());//1
console.log(arr);//[23]
总结:
1.这四种方法都会直接修改原数组
2.push和unshift分别为尾部和头部添加元素,pop和shift分别为尾部和头部删除元素。
3.push和unshift返回的是修改后的数组length,pop和shift返回的是被删除的元素。
***数组排序
数组中有对数组本身排序的方法
reverse() 颠倒数组中元素的顺序,无参数 该方法会改变原来的数组返回新数组
sort() 对数组的元素进行排序 该方法会改变原来的数组饭回新数组
注意:sort方法需要传入参数来设置升序、降序排序
如果传入"function(ab){returna-b;}”,则为升序
如果传入"function(ab){returnb-a}”,则为降序