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

相关推荐
大家的林语冰2 小时前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
weedsfly4 小时前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript
用户1733598075374 小时前
纯前端 PDF 数字签名实战:Vue 3 + pdf-lib 在浏览器里完成签名嵌入
前端·javascript
JieE21215 小时前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE21215 小时前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
kyriewen19 小时前
我用 AI 一周写完了整个项目,上线第一天就崩了——这是我踩过最贵的 5 个坑
前端·javascript·ai编程
Larcher19 小时前
AI Loop:让AI像人一样自主完成任务的核心机制
javascript·人工智能·设计模式
默_笙20 小时前
🃏 JS 只有 8 种数据类型,但我花了 2 天才搞懂 null 和 undefined 的区别
javascript
jump_jump20 小时前
流式 HTML:从 htmx 片段装配到浏览器原生增量渲染
javascript·性能优化·前端工程化
swipe1 天前
正则表达式入门到进阶:从表单校验到手写模板引擎
前端·javascript·面试