上一篇学了各种数组方法,正好先做个练习回忆一下:
排序并去重
我随便写一组数,要求排好并去掉重复的:
var arr =[2,8,1,7,2,6,1,5,2,7,6,5];
for (var i=0; i<arr.length; i++){
for (var j=i+1; j<arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--
}
}
}
arr.sort(function(a,b){
return a-b;
})
console.log(arr);
都很简单,就两个要注意的函数,忘了就看看上篇,还有判断两组数组重复时,用==,我都加黑了,为什么强调呢,因为我一不留神就用了一个,还差点没看到,所以不要小看一些小错误,后面写项目代码一多,搁谁谁头大。
内置对象之Date
Date是一个日期对象,里面包含了很多和日期有关的方法和属性。
1.创造Date对象
// var 变量名=new Date();
var a=new Date();
2.Date对象的方法
方法名:
getFullYear()
返回Date对象的年份,其值为四位数。
getMonth()
返回Date对象的月份,其值介于0到11之间。(注:0是1月份,11代表12月)
getDate()
返回Date对象的日,其值介于1到31之间。
getHours()
返回Date对象的小时数,其值介于0到23之间。
getMinutes()
返回Date对象的分钟数,其值介于0到59之间。
getSeconds()
返回Date对象的秒数,其值介于0到59之间。
getDay()
返回Date对象的星期的每一天,其值介于0到6之间。
例子:
var dateTime=new Date();
//获年
var year=dateTime.getFullYear();
document.write(year+'<br>');
//获取月 我们可以给他加一
var month=dateTime.getMonth()+1;
document.write(month+'月');
//获取日
var data=dateTime.getDay();
document.write(data+'日'+'<br>');
//获取时
var h=dateTime.getHours()+1;
document.write(h+'时');
//获取分
var m=dateTime.getMinutes()+1;
document.write(m+'分');
//获取秒
var s=dateTime.getSeconds()+1;
document.write(s+'秒'+'<br>');
//获取星期
var week=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
var day=dateTime.getDay();
document.write(week[day]);
好,那写个练习:判断几天后是星期几。
var day=prompt('请输入天数(1-0数字)');
var date=new Date();
var arr=['周日','周一','周二','周三','周四','周五','周六'];
var index=date.getDay()+day%7;
alert(day+"天后是"+arr[index]);
对我们现在来说都没难度。
还有好玩的
//编写时钟
//setInterval每秒都执行一次内部操作
setInterval (function(){
//我们可以通过setInterval每秒执行后面的函数
var time=new Date();
//每秒获取最新时间
var s= time.getSeconds();
document.write(s);
},1000);//后面的1000是1000ms后也就是1s后执行一次操作,可以自行设置
//用document.write来操作页面,每次都往上加,这不好。
//我们再body中写个div,我们来获取一下这个元素
//通过get标签名来找到这个标签的下标,来找到这个具体的标签。
var div_=document.getElementsByTagName('div')[0];
setInterval (function(){
var time=new Date();
var s= time.getSeconds();
//可以通过innerHTML这个标签往div中添加内容,这里添加的就是我们获取的每秒最新时间
div_.innerHTML=s;
},1000);//每秒往里面放最新时间,下一个会覆盖上一个。
每次都添加上了,可以把年月日都加上,在给个样式,后面js高级我们都会讲。
还有什么别的获取元素方法?
//这是通过id名来获取元素,不需要下标id只有一个
var div_=document.getElementById('id名');
//这是通过类名来获取元素,类名可以有重复,所以需要下标
var div_=document.getElementsByClassName('类名')['下标'];
//那innerHTML还有别的使用说明吗
div_.innerHTML='<h1>你好你<br>好你好<h1>'
一些标签它是认识的
//还有一个innertext,插入文本原样输出
div_.innerText='<h1>你好你<br>好你好<h1>'
我们这里大体提一下,后面js高级讲节点会详细说,节点是让新人头大的部分,我们先期待一下。
String对象
字符串对象
有两种写法,如:
var str='123'
var str=new String (123)
直接用引号引起来就是字符串,要不就是new一个字符串对象。
var str='你好世界';
console.log(typeof str);
//字符串对象居然也有.length属性!
console.log(str.length);
//这不是数组的属性吗?那是不是也可以用下标拿出内容?
console.log(str[0]);
//这可以,那是不是也能像数组一样遍历?
for(var i of str){
console.log(i);
}
//好,我们发现这玩意跟数组一样,那为啥呢,是因为它里面埋了一个接口,卖个关子,我们放到ES6再讲。