当然也可以把showInformation函数放入到School函数里面.
但是这样做程序的结构不够好啊
<html>
<head>
<title>Sample!!</title>
<mce:script type="text/javascript"><!--
//直接初始化对象
var ZGKJDX={name:"学",
address:"安",
grade:"高等学府",
number:"13400",
information:showInformation
};
//定义对象的方法
function showInformation()
{
var msg="";
msg="自定义对象实例:/n";
msg+="/n机构名称 : "+this.name+" /n";
msg+="所在地址 : "+this.address +"/n";
msg+="教育层次 : "+this.grade +" /n";
msg+="在校人数 : "+this.number
window.alert(msg);
}
// --></mce:script>
</head>
<body>
<form action="">
<input type="button" value="调试对象按钮" onclick="ZGKJDX.information()" />
</form>
</body>
</html>
直接化的方法来初始化对象。
<mce:script type="text/javascript"><!--
//对象的构造函数
function School(iName,iAddress,iGrade,iNumber)
{
this.name=iName;
this.address=iAddress;
this.grade=iGrade;
this.number=iNumber;
this.information=showInformation;
}
//定义对象的方法
function showInformation()
{
var msg="";
msg="通过原型给对象添加新属性和新方法:/n/n"
msg+="原始属性:/n";
msg+=" 机构名称 : "+this.name+" /n";
msg+=" 所在地址 : "+this.address +"/n";
msg+=" 教育层次 : "+this.grade +" /n";
msg+=" 在校人数 : "+this.number+" /n/n";
msg+="新属性:/n";
msg+=" 占地面积 : "+this.addAttributeOfArea+" /n";
msg+="新方法:/n";
msg+=" 方法返回 : "+this.addMethod+"/n";
window.alert(msg);
}
function MyMethod()
{
var AddMsg="New Method Of Object!";
return AddMsg;
}
//生成对象的实例
var ZGKJDX=new School("中国学","安","高等学府","13400");
School.prototype.addAttributeOfArea="3000";
School.prototype.addMethod=MyMethod();
// --></mce:script>
动态添加方法和属性.
内嵌对象
也可以在外面定义
var SchoolData={
code:"0123-456-789",
Tel:"0551-1234567",
Fax:"0551-7654321"
};
之后通过
var ZGKJDX={
name:"学",
address:"安",
grade:"高等学府",
number:"13400",
//嵌套对象SchoolData
data:SchoolData,
information:showInformation
};
引入来创建对象。