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(arri**==**arrj){

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(weekday);

好,那写个练习:判断几天后是星期几。

var day=prompt('请输入天数(1-0数字)');

var date=new Date();

var arr='周日','周一','周二','周三','周四','周五','周六';

var index=date.getDay()+day%7;

alert(day+"天后是"+arrindex);

对我们现在来说都没难度。

还有好玩的

//编写时钟

//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(str0);

//这可以,那是不是也能像数组一样遍历?

for(var i of str){

console.log(i);

}

//好,我们发现这玩意跟数组一样,那为啥呢,是因为它里面埋了一个接口,卖个关子,我们放到ES6再讲。

相关推荐
小羊没烦恼!3 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
爱吃香菜的初学者3 小时前
十六.Linux——多线程(2)
linux·运维·开发语言
jeo陽3 小时前
04-循环实战:素数、最大公约数、级数求和与枚举法
c语言·开发语言·数据结构
Highcharts.js3 小时前
AI图表开发工具Highcharts Assist|自然语言生成图表代码
javascript·人工智能·highcharts·开发神器
暖核3 小时前
kubeadm 集群运维:Worker 节点下线删除、整套集群销毁重建指南
运维·开发语言·php
志尊宝4 小时前
Vue3 零基础每日笔记(087):Vue3 高频面试题(下)
前端·javascript·vue.js·笔记·ecmascript·#vue.js
tachibana24 小时前
Go 语言里的 Context 是什么?
开发语言·后端·golang·go·语言
天桥下的卖艺者4 小时前
R语言使用ggcube包轻松绘制文章中的各类3D图形
开发语言·3d·r语言
唐钰小宝B5 小时前
深度解读 JDK 8、JDK 11、JDK 17 和 JDK 21 的区别
java·开发语言·windows
const_qiu5 小时前
第二章 2.6:初始化 NestJS 服务端 —— TypeScript 后端框架体验
前端·javascript·typescript