JavaScript中Object对象的使用
来源:互联网 发布:徐宥箴与多益网络 编辑:程序博客网 时间:2024/05/21 06:23
在JavaScript中,Object是一个内部对象。一般,我们可以直接定义自己的类,然后通过实例化它从而在应用中使用。使用Object对象,也可以实现类似于我们自己定义的类的功能。
Object对象提供了种创建自定义对象的简单方式,不需要程序员再定义构造函数。
例:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--> <%--JavaScript学习--%>
<scripttype="text/javascript" language="JavaScript">
//函数功能为显示person对象中参数的属性值
function getValue(attr)
{
//显示pserson对象的属性值
alert(person[attr]);
}
var person=new Object();
person.name="scott";
person.age="20";
function PersionShow()
{
//调用函数
getValue("name");
getValue("age");
}
</script>
<%--测试使用的按钮--%>
<inputid="Button1" type="button" runat="server" value="测试" onclick="PersionShow();"/>
可以使用Object对象new一个新的对象实例,然后动态地为这个对象实例增加属性和方法。但是这和我们自己定义类有些地方是不同的,通过下面的例子来说明。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
var school = new Object(); // 使用Object创建一个空对象
school.name = "Changchun University of Science and Technology"; // 添加属性
school.createDate = new Date(1958,8,12);
school.deptCnt = "33";
school.majorCnt = 102;
school.studentCnt = 35686;
school.teacherCnt = 1505;
// 使用数组的方式访问对象实例的属性值
document.write("使用数组的方式获取到对象的属性值,如下所示:<BR>");
var arrayStr = "学校名称 : " + school["name"] + "<BR>";
arrayStr += "建校时间 : " + school["createDate"].getYear() + "年" + school["createDate"].getMonth() + "月" + school["createDate"].getDate() + "日" + "<BR>";
arrayStr += "学院个数 : " + school["deptCnt"] + "<BR>";
arrayStr += "专业个数 : " + school["majorCnt"] + "<BR>";
arrayStr += "学生人数 : " + school["studentCnt"] + "<BR>";
arrayStr += "教师人数 : " + school["teacherCnt"] + "<BR>";
document.write(arrayStr + "<BR><BR><BR>");
school.students = ["Sa","Sb","Sc","Sd","Se","Sf","Sg","Sh","Si","Sj","Sk","Sl","Sm","Sn","So"];
school.teachers = ["Ta","Tb","Tc","Td","Te","Tf"];
// 为新建的对象实例添加成员方法
school.getSchoolInfomation = function(){
var infos = "学校名称 : " + school.name + "<BR>";
infos += "建校时间 : " + school.createDate.getYear() + "年" + school.createDate.getMonth() + "月" + school.createDate.getDate() + "日" + "<BR>";
infos += "学院个数 : " + school.deptCnt + "<BR>";
infos += "专业个数 : " + school.majorCnt + "<BR>";
infos += "学生人数 : " + school.studentCnt + "<BR>";
infos += "教师人数 : " + school.teacherCnt + "<BR>";
infos += "学生分别 : ";
for(istu in school.students){
infos += school.students[istu] + "|";
}
infos += "<BR>";
infos += "教师分别 : ";
for(iteacher in school.teachers){
infos += school.teachers[iteacher] + "|";
}
infos += "<BR>";
return infos;
}
document.write(school.getSchoolInfomation());
// 另一种为新建的对象实例添加方法的实现
// 首先,定义一个函数
function describe(privilege){
if(privilege == 8){
var info = "Changchun University of Science and Technology(CUST) is a university of science and technology founded by the Chinese Academy of Sciences in 1958. ";
document.write("学校简介 : " + info);
}
else{
document.write("你没有权限对学校进行描述,请联系管理员!");
}
}
// 然后,将新定义函数的返回值赋予新建对象实例的一个成员方法名
school.introduce = describe;
school.introduce(8); // 调用动态添加的成员方法
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
运行结果如下:
使用数组的方式获取到对象的属性值,如下所示:学校名称 : Changchun University of Science and Technology
建校时间 : 58年8月12日
学院个数 : 33
专业个数 : 102
学生人数 : 35686
教师人数 : 1505
学校名称 : Changchun University of Science and Technology
建校时间 : 58年8月12日
学院个数 : 33
专业个数 : 102
学生人数 : 35686
教师人数 : 1505
学生分别 : Sa|Sb|Sc|Sd|Se|Sf|Sg|Sh|Si|Sj|Sk|Sl|Sm|Sn|So|
教师分别 : Ta|Tb|Tc|Td|Te|Tf|
学校简介 : Changchun University of Science and Technology(CUST) is a university of science and technology founded by the Chinese Academy of Sciences in 1958.
简单总结:
1、使用JavaScript内部对象创建一个对象实例时,可以指定一个构造函数的一个参数,也可以不指定任何参数,如下所示:
obj = new Object([value])参数
obj
必选项。要赋值为 Object 对象的变量名。
value
可选项。任意一种 JScript 基本数据类型。(Number、Boolean、或 String。)如果 value 为一个对象,返回不作改动的该对象。如果value 为null、undefined,或者没有给出,则产生没有内容的对象。
说明
Object 对象被包含在所有其它 JScript 对象中;在所有其它对象中它的方法和属性都是可用的。在用户定义的对象中可以重定义这些方法,并在适当的时候通过 JScript 调用。toString 方法是经常被重定义的Object 方法的例子。
2、通过使用数组的方式获取对象实例的数据,如下:
var school = new Object(); // 使用Object创建一个空对象school.name = "Changchun University of Science and Technology"; // 添加属性
school.createDate = new Date(1958,8,12);
school.deptCnt = "33";
school.majorCnt = 102;
school.studentCnt = 35686;
school.teacherCnt = 1505;
// 使用数组的方式访问对象实例的属性值
document.write("使用数组的方式获取到对象的属性值,如下所示:<BR>");
var arrayStr = "学校名称 : " + school["name"] + "<BR>";
arrayStr += "建校时间 : " + school["createDate"].getYear() + "年" + school["createDate"].getMonth() + "月" + school["createDate"].getDate() + "日" + "<BR>";
arrayStr += "学院个数 : " + school["deptCnt"] + "<BR>";
arrayStr += "专业个数 : " + school["majorCnt"] + "<BR>";
arrayStr += "学生人数 : " + school["studentCnt"] + "<BR>";
arrayStr += "教师人数 : " + school["teacherCnt"] + "<BR>";
document.write(arrayStr + "<BR><BR><BR>");
3、为新创建的对象实例动态添加成员方法,有两种方式:
第一种:
var school = new Object();school.getSchoolInfomation = function(){// 动态添加成员方法getSchoolInfomation
var infos = "学校名称 : " + school.name + "<BR>";
infos += "建校时间 : " + school.createDate.getYear() + "年" + school.createDate.getMonth() + "月" + school.createDate.getDate() + "日" + "<BR>";
infos += "学院个数 : " + school.deptCnt + "<BR>";
infos += "专业个数 : " + school.majorCnt + "<BR>";
infos += "学生人数 : " + school.studentCnt + "<BR>";
infos += "教师人数 : " + school.teacherCnt + "<BR>";
infos += "学生分别 : ";
for(istu in school.students){
infos += school.students[istu] + "|";
}
infos += "<BR>";
infos += "教师分别 : ";
for(iteacher in school.teachers){
infos += school.teachers[iteacher] + "|";
}
infos += "<BR>";
return infos;
}
document.write(school.getSchoolInfomation());// 调用成员方法
第二种:
var school = new Object();
function describe(privilege){ // 首先定义一个函数
if(privilege == 8){
var info = "Changchun University of Science and Technology(CUST) is a university of science and technology founded by the Chinese Academy of Sciences in 1958. ";
document.write("学校简介 : " + info);
}
else{
document.write("你没有权限对学校进行描述,请联系管理员!");
}
}
school.introduce = describe; // 将函数的返回值赋予定义的对象实例的成员方法名
school.introduce(8); // 然后再用对象实例去调用该动态添加的成员方法
另外,Object对象本身具有两个属性和三个方法:
属性
prototype 属性 |constructor 属性
方法
toLocaleString 方法 |toString 方法 |valueOf 方法
- JavaScript中Object对象的使用
- JavaScript中Object 对象的Prototype属性
- javascript 的对象(Object)
- javascript的Object对象
- JavaScript中Object对象介绍
- javascript中Object类原型对象的属性和方法
- JavaScript中对象的使用
- javascript中对象的使用
- javascript中Object使用详解
- Javascript中判断对象为空Object{}
- 面向对象中(重点)之object类的使用
- 线程中 Object对象的wait和notify方法使用,
- Javascript中使用String对象的方法
- Javascript中Date对象的使用
- javascript中Location对象的使用
- 简单记录javascript中对象的使用
- javaScript中,时间对象Date的使用
- JavaScript对象的特性(Object Attribute)
- FastDFS 配置文件详解
- Flex与.NET互操作(四):使用HttpService、URLReqeust和URLLoader加载/传输数据
- framebuffer 子系统分析
- 编程之美2.10扩展问题求数组中第二大数
- android开发(一):简介与安装
- JavaScript中Object对象的使用
- 几百元搞定大型网站
- spring mvc数据绑定时通过去除html标签防止js注入
- 如何从百度文库的文档拷贝内容
- jsp页面分页查询时候页面序号自动升序显示
- blog_url
- 数据类型text 和varchar在 equal to运算符中不兼容
- skinng a htmltable to a telerik skin
- 转经典文章一篇。。。helloworld dsplink