JavaScript学习04 对象

默认对象

  日期对象Date

  格式:日期对象名称=new Date([日期参数])

  日期参数

  1.省略(最常用);

  2.英文-数值格式:月 日,公元年 [时:分:秒]

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

  3.数值格式:公元年,月,日,[时,分,秒]

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

  日期对象的方法:

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

  使用例子:

<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> 

  输出:

现在时刻: 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>

字符串对象

  建立字符串对象:

  格式:字符串对象名称=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>

参考资料

  圣思园张龙老师Java Web视频教程。

  W3School JavaScript教程:http://www.w3school.com.cn/js/index.asp

  英文版:http://www.w3schools.com/js/default.asp

  JavaScript对象用法:

  http://www.cnblogs.com/lidabo/archive/2012/03/16/2399815.html

  JavaScript字符串对象:

  http://www.w3school.com.cn/js/js_obj_string.asp

  http://www.w3school.com.cn/jsref/jsref_obj_string.asp

JavaScript学习04 对象的更多相关文章

  1. Javascript学习4 - 对象和数组

    原文:Javascript学习4 - 对象和数组 在Javascript中,对象和数组是两种基本的数据类型,而且它们也是最重要的两种数据类型. 对象是已命名的值的一个集合,而数组是一种特殊对象,它就像 ...

  2. JavaScript学习笔记——对象知识点

    javascript对象的遍历.内存分布和封装特性 一.javascript对象遍历 1.javascript属性访问 对象.属性 对象[属性] //字符串格式 //javascript属性的访问方法 ...

  3. JavaScript学习笔记-对象

    枚举对象的属性:通常用for(...in...)来循环遍历,由于 for in 总是要遍历整个原型链,因此如果一个对象的继承层次太深的话会影响性能 for(var i in foo){ if(foo. ...

  4. JavaScript学习笔记——对象分类

    对象的分类 一.对象的分类 1.内置对象 Global Math 2.本地对象 Array Number String Boolean Function RegExp 3.宿主对象 DOM BOM 二 ...

  5. JavaScript学习笔记——对象基础

    javascript对象基础 一.名词解释: 1.基于对象 一切皆对象,以对象的概念来编程. 2.面向对象编程(oop Object oriented programming) A.对象 就是人们要研 ...

  6. JavaScript学习之对象

    JavaScript对象 一.对象简介 JavaScript 是面向对象的编程语言 (OOP).OOP 语言使我们有能力定义自己的对象和变量类型.注意:对象只是一种特殊的数据.对象拥有属性和方法. 1 ...

  7. JavaScript学习笔记——对象的创建

    对象是JavaScript基本数据类型,在JavaScript中除了Undefined.Null.布尔型(ture.false).字符串和数字之外,其他的都属于对象. 在JavaScript中,一个对 ...

  8. JavaScript学习——JS对象和全局函数

    1. Array对象 数组的特点:长度可变!数组的长度=最大角标+1 2.Boolean对象 如果value 不写,那么默认创建的结果为false 3.Date对象 getTime()返回1970年1 ...

  9. JavaScript学习——BOM对象

    1.BOM 对象:浏览器对象模型(操作与浏览器相关的内容) 2.Window 对象 Window 对象表示浏览器中打开的窗口 setInterval():它有一个返回值,主要是提供给 clearInt ...

随机推荐

  1. Azure China (6) SAP 应用在华登陆 Windows Azure 公有云

    <Windows Azure Platform 系列文章目录>     2014年07月11日 由世纪互联运营的 Windows Azure 为 SAP 应用提供公有云平台 2014 年 ...

  2. Elasticsearch集群管理

    ES通过设置[节点的名字]和[集群的名字],就能自动的组织相同集群名字的节点加入到集群中,并使很多的技术对用户透明化. 如果用户想要管理查看集群的状态,可以通过一些REST API来实现. 其他的ES ...

  3. Angular 1与 Angular 2之间的一些差别

    现在在用ng1.5.8做一个项目,ng的优点和特性我就不用多说了,ng1在陆续更新到1.5/1.6后就没再推出新版本了,ng2已经面世测试很久了,如同很多系统和框架一样,每个大的版本更新都会有新特性加 ...

  4. Ubuntu14.04安装JDK

    下载oracle jdk包 从oracle官网下载jdk包,请选择Linux的tar包: 如果想使用命令行下载工具进行下载,可以先获得下载地址,然后运行curl进行下载: curl -L -O -H ...

  5. 选择排序---直接选择排序算法(Javascript版)

    在要排序的一组数列中,选出最小(或者最大)的一个数与第1个位置的数交换:然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个 ...

  6. 使用DevExpress官方汉化文件对界面进行汉化的过程

    在较早期的Dev开发中,基本上都是在使用一个DLL包的汉化文件,如基于13.1的汉化包文件Dxper.LocalizationCHS.Win.v13.1.5.dll,这个汉化包也比较方便,大多数时候复 ...

  7. ASP.NET Core 开发-中间件(StaticFiles)使用

    ASP.NET Core 开发,中间件(StaticFiles)的使用,我们开发一款简易的静态文件服务器. 告别需要使用文件,又需要安装一个web服务器.现在随时随地打开程序即可使用,跨平台,方便快捷 ...

  8. iOS 基础控件(下)

    上篇介绍了UIButton.UILabel.UIImageView和UITextField,这篇就简短一点介绍UIScrollView和UIAlertView. UIScrollView 顾名思义也知 ...

  9. 在Excel中使用频率最高的函数的功能和使用方法

    在Excel中使用频率最高的函数的功能和使用方法,按字母排序: 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝 ...

  10. 一个疑难杂症 IIS URL区分大小写(FF的自动变换URL问题)?

    (II8 VS14 CTP3 Windows7 ASP.NET WEBFORM) 在我的印象里面,IIS的URL在一般情况下面是不分大小写的. 所以下面两个URL应该是一样的. http://loca ...