JavaScript基础(十)

上一篇学了各种数组方法,正好先做个练习回忆一下:

排序并去重

我随便写一组数,要求排好并去掉重复的:

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再讲。

相关推荐
远望清一色8 分钟前
基于MATLAB的实现垃圾分类Matlab源码
开发语言·matlab
confiself18 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
ZL不懂前端23 分钟前
Content Security Policy (CSP)
前端·javascript·面试
乐闻x26 分钟前
ESLint 使用教程(一):从零配置 ESLint
javascript·eslint
XiaoLeisj29 分钟前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
杜杜的man33 分钟前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*33 分钟前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
半桶水专家34 分钟前
go语言中package详解
开发语言·golang·xcode
llllinuuu35 分钟前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s36 分钟前
Golang--协程和管道
开发语言·后端·golang