JavaScript内置对象1

1.Array与Hash

用几个案例来一起看一下内置对象:

1.案例1

要求利用变量保存数据,再用document.write()将变量输出。要求是,显示一组水浒传人物信息,包含4个元素,每一个元素又包含名字和绰号。那么只需要把这8个数据分别保存到8个变量中,然后将变量打印即可。

var name1, name2, name3, name4;
var byname1, byname2, byname3, byname4;
name1 = "林冲", name2 = "吴用", name3 = "李逵",name4 = "史进";
byname1 = "豹子头", byname2 = "智多星", byname3 = "黑旋风", byname4 = "九纹龙";
document.write("姓名         绰号<br>")
document.write("---------------<br>")
document.write(name1 + "    " + byname1 + "<br>")
document.write(name2 + "    " + byname2 + "<br>")
document.write(name3 + "    " + byname3 + "<br>")
document.write(name4 + "    " + byname4 + "<br>")

在这里插入图片描述
对于上面的代码,变量过多,操作繁复,而且不易维护,这时可以使用js中的数组。

数组
数组就是某类数据的集合,数据类型可以是整型,字符串。

  • 数组名的定义规则与变量相同
  • 数组内元素的数据类型可以不一样
  • 初始化数组与java不一样,需要用中括号

下面,利用数组完成案例1:

var name = ["林冲" , "吴用", "李逵", "史进"];
var byname = ["豹子头", "智多星", "黑旋风", "九纹龙"];

document.write("姓名                     绰号<br>")
document.write("--------------------------<br>")
for (var i = 0, j = 0; i < name.length && j < byname.length; i++, j++){
    document.write(name[i])
    document.write("       ")
    document.write(byname[j] + "<br>")
}

在这里插入图片描述
上面出现了错位,解决这种问题,可以使用hash来解决。

Hash表

  • hash表中每一个元素都由一个键值对组成,键值之间用:“:”分割,实现键值对应
  • 元素和元素之间用逗号隔开

利用hash来完成案例1:

var hash = {
    "林冲":"豹子头",
    "吴用":"智多星",
    "李逵":"黑旋风",
    "史进":"九纹龙"
};
document.write("姓名                     绰号<br>")
document.write("--------------------------<br>")

for (var k in hash){
    document.write(k + "     " + hash[k] + "<br>")
}

在这里插入图片描述

2.内置对象Date

Date是js的内置对象,用来处理js日期和时间,所有操作均需要通过调用date对象提供的方法实现。

  • 定义Date对象需要用被我关键字,并且注意Date首字母必修大写。

  • getDate获取当前的日期,显示11

  • getDay过去当前是周几,如果是周日,显示0

  • getHours获取当前的小时

  • getMinutes获取当前的分钟

  • getMonth获取当前的月份,如果是12月,则显示11

  • getSeconds获取当前的秒

  • getTime获取当前的时间,并且以毫秒为单位

  • getYear获取当前的年份

  • setDate设置当前的日期(0~30)

  • setHours设置小时(0~23)

  • setMinutes设置分钟(0~59)

  • setTime设置时间

  • setYear设置年份

  • setMonth设置月份(0~11)

2.1案例2

利用js显示时间,并且根据当前的时间显示欢迎信息,12点前显示上午好,12-19点显示下午好,否则显示晚上好。周一到周五显示工作愉快,周六周日显示休假开心。
利用getHour得到当前的小时,利用getDay得到当前是星期几,利用if条件语句实现

var d = new Date("Jan, 4, 2022, 18:54:00");
document.write("当前时间" + d.toDateString() + "<br><br>");

if(d.getHours() <= 12){
    document.write("早上好!");
}else if(d.getHours() < 19){
    document.write("下午好!");
}else{
    document.write("晚上好!");
}


if(d.getDay() >= 1 && d.getDay() <= 5){
    document.write("工作愉快!");
}else{
    document.write("休假开心!");
}

在这里插入图片描述

2.2案例3

利用js制作简易日历,只显示本月日期,当前日期字体设置为红色。
利用Date对象获取当前日期,并保存到变量中。创建循环变量,通过循环打印输出当前日期,仅打印本月日期,并判断如果是今天,则设置为红色打印。本月第一周中的上月日期需要用占位符显示。

var date = new Date();
var today = date.getDay();
var month = date.getMonth();
var week = data.getDay();

document.write("日 一 二 三 四 五 六<br>");

for (var i = 0; i <= week; i++){
    document.write("    ");
}


var temp = 1;
date.setDate(temp);
while (date.getMonth() == month){
    var currentDate = date.getDate();
    if(currentDate < 10){
        document.write("0");
    }
    if (currentDate == today){
        document.write("<font color='red'>" + currentDate + "</font>");
    }else{
        document.write(currentDate + " ");
    }
    if(date.getDate() == 6){
        document.write("<br>");
    }
    temp++;
    date.setDate(temp)
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值