JavaScript对象详解:Date、Array、String与自定义对象用法

作者:纸飞机

时间:2026-10-29

浏览:548

本文系统介绍JavaScript中常用内置对象及自定义对象的创建与使用方法。涵盖Date日期对象的格式参数与获取方法、Array数组的动态扩容与多维数组操作、String字符串的验证应用,以及通过构造函数定义自定义对象属性和方法的完整示例,帮助开发者掌握JS核心数据结构。

文章目录

JavaScript对象概述

在JavaScript中,对象是属性的集合,用于存储数据。

Date日期对象的使用方法

Date对象用于处理日期和时间。

创建日期对象的语法为:日期对象名称=new Date([日期参数])。

Date对象的参数有多种格式可选。

第一种是省略参数,这是最常用的方式,表示当前系统时间。

第二种是英文与数值混合格式,写法为:月 日,公元年 [时:分:秒]。

例如:today=new Date("October 1,2008 12:00:00")。

第三种是纯数值格式,写法为:公元年,月,日,[时,分,秒]。

例如:today=new Date(2008,10,1)。

Date对象提供了多种方法来获取日期时间的各个部分。

调用格式为:日期对象名称.方法([参数])。

以下是一个获取当前日期和时间的示例。

代码如下:

<body>
<script type="text/javascript">
var date = new Date();//JS中默认提供的对象
document.writeln("现在时刻: " + ( date.getYear() + 1900 ) + "年"
+ (date.getMonth() + 1) + "月" + date.getDate()
+ "日" + ", 星期" + date.getDay() + ", 时间: "//星期天会是0,需要进一步处理,这里先不处理
+ date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());
</script>
</body>

输出示例如下:

Array数组对象的创建与操作

现在时刻: 2014年4月21日, 星期1, 时间: 14:7:53 数组对象 数组对象的作用是:使用单独的变量名来存储一系列的值。

JavaScript的数组具有两个显著特点:

1.数组长度不固定,支持自动扩容;

2.数组元素的数据类型可以不一致,允许混合存储不同类型的数据。

创建数组对象有以下几种格式:

new Array();

返回一个空数组,其 length 属性值为 0。

new Array(size);

参数 size 指定数组的预期元素个数。返回的数组 length 属性将被设为 size 的值,该构造函数将返回具有指定个数、元素为 undefined 的数组。

new Array(element0, element1, ..., elementn);

该构造函数使用参数指定的值初始化数组,数组的 length 属性会被设置为参数的个数。

数组对象名称=[元素1[,元素2,...]]

(注意这里使用的是方括号)。

当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new 运算符调用它时的行为完全一样。

还可以创建二维数组。

Array对象的方法可以参见:http://www.w3school.com.cn/jsref/jsref_obj_array.asp

数组对象使用实例如下:

代码如下:

<!DOCTYPE html>
<html>
<head>
<title>arrayTest.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
//var fruits = new Array("Apple", "Banana", "Pear");
var fruits = ["苹果","香蕉","梨"];//推荐使用
//可以动态添加元素
fruits.push("西瓜");
fruits.push("橙子");
for(var i = 0; i < fruits.length; ++i)
    {
document.writeln("fruit[" + i + "] = " + fruits[i] + "<br/>");
    }
//数组的一些方法测试
with(document)
    {
write("<ul>");
write("<li>" + fruits.join()+ "</li>");//默认使用逗号来分隔
write("<li>" + fruits.join(";")+ "</li>");
write("<li>" + fruits.toString()+ "</li>");
write("<li>" + fruits.reverse().join()+ "</li>");
write("<li>" + fruits.valueOf()+ "</li>");
//说明上面的reverse实际上是改变了数组本身
write("</ul>");
    }
//二维数组
var people = new Array(3);
people[0] = new Array(1, "zhangsan", "lisi");
people[1] = new Array(2, "Jack", "Lucy");
people[2] = new Array(3, "Xiaoming", "Xiaohong");
//注意数据类型可以混合使用
//遍历二维数组
for(var i = 0 ; i < people.length ; ++i)
    {
for(var j= 0 ; j < people[i].length ; ++j)
        {
document.write("people["+ i +"]["+ j +"] = " + people[i][j] + "<br/>");
        }
document.write("<br/>");
    }
</script>
</body>
</html>

String字符串对象与验证

字符串对象 建立字符串对象:

格式:字符串对象名称=new String(字符串常量)

格式:字符串变量名称="字符串常量"

一个验证Email的例子:

代码如下:

<!DOCTYPE html>
<html>
<head>
<title>emailConfirm.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
function isEmail()
        {
var emailValue = document.getElementsByName("email")[0].value;
if(-1 == emailValue.indexOf("@"))
            {
alert("请填写正确的Email地址");
            }
else
            {
alert("Ok");
            }
        }
</script>
</head>
<body>
<form>
email: <input type="text" name="email"><br/>
<input type="button" value="check" onclick="isEmail()">
</form>
</body>
</html>

自定义对象的定义与调用

自定义对象 前面讲函数的时候讲过一个例子,现在这里再讲一下这个例子:

代码如下:

<!DOCTYPE html>
<html>
<head>
<title>objectTest.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
//定义对象的一种方式:通过构造函数
function member(name, gender)
        {
//属性
this.name = name;
this.gender = gender;
//方法
this.display = display;//指定member对象的display方法
        }
function display()
        {
var str = this.name + " : " + this.gender;
//这个display方法被谁使用了,此处的this就指向那个对象
document.writeln(str + "<br/>");
        }
//生成对象
var m1 = new member("zhangsan", "male");
var m2 = new member("lisi", "male");
var m3 = new member("wangwu", "male");
var m4 = new member("wangfang", "female");
with(document)
        {
write("输出属性","<br/>");
write(m1.name + ":" + m1.gender + "<br/>");
write(m2.name + ":" + m2.gender + "<br/>");
write(m3.name + ":" + m3.gender + "<br/>");
write(m4.name + ":" + m4.gender + "<br/>");
        }
document.write("调用方法","<br/>");
m1.display();
m2.display();
m3.display();
m4.display();
</script>
</body>
</html>

小伙伴们是否对javascript中对象的概念和用法有了新的认识了呢,希望大家能够喜欢本文及本系列文章。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章