你是不是以前定VB类的呀, 大小写不分:
Function university(name,city,creatDate URL)
==>
function university(name,city,creatDate,URL)This.name=name;
==>
this.name=name;This.creatDate=New Date(creatDate);
==>
this.creatDate=new Date(creatDate);var U1=New university
==>
var U1=new university
Function university(name,city,creatDate URL)
==>
function university(name,city,creatDate,URL)This.name=name;
==>
this.name=name;This.creatDate=New Date(creatDate);
==>
this.creatDate=new Date(creatDate);var U1=New university
==>
var U1=new university
<HEAD>
</HEAD>
<BODY>
<script Language="JavaScript">
<!--function university(name,city,creatDate,URL){this.name=name;
this.city=city;
this.creatDate=new Date(creatDate);
this.URL=URL;
this.showuniversity=showuniversity;
}
var U1=new university("云南省","昆明市","January 05,1997 12:00:00","http://www.YN.KM");
var U2=new university("云南电子科技大学","昆明","January 07,1997 12:00:00","htlp://www.YNKJ.CN");function showuniversity(){
for (var prop in this)
alert(prop +=" = "+this[prop]+"");
}U1.showuniversity()
// -->
</Script>
</BODY>
</HTML>
function showuniversity(){
for (var prop in this)
alert(prop +=" = "+this[prop]+"");
}
谢谢!
{
for (var prop in this)
{
if(typeof(this[prop]) != "function")
alert(prop +=" = "+this[prop]+"");
}
}加了这么一句判断就不会出来这个方法的具体定义了
document.write(body1); //这里为Person.toString()创建一个调用
来创建一个调用呢,为什麽我把它换成body1.toString后就不能显示body1的内容了呢???
<HTML>
<HEAD>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!-- Hide from older browsersfunction Person(name, age, colour) {
this.name = name;
this.age = age;
this.colour = colour;
this.birthYear = (new Date()).getYear() - this.age;
this.toString = printPerson; // 这里定义the Person.toString() 方法
this.isOlder = isOlder; // 这里定义Person.isOlder(Person) 方法
}function printPerson() {
var text = this.name + " was born in " + this.birthYear +"<br>";
text += "and is " + this.age + " years old.<p>";
return text;
}function isOlder(otherPerson) { // 这里定义是否第一个人是更老的return (this.age > otherPerson.age); // 返回布尔型数值}
//下面的代码用于测试我们的函数var body1 = new Person("Patrick", 22, "red");
var body2 = new Person("Betty", 21, "green");document.write(body1); //这里为Person.toString()创建一个调用
document.write(body2);document.write(body1.name);
document.write((body1.isOlder(body2)) ? " is " : " is not "); // 是否更老?
document.write("older than " + body2.name);// Stop hiding --></SCRIPT>
</BODY>
</HTML>
document.write(body1.toString());
document.write(body2.toString());
document.write(body1); //这里为Person.toString()创建一个调用是不是当只有一个方法时就是默认调用该方法呢?
function Person(name, age, colour) {
...
this.toString = printPerson; // 这里定义Person.toString() 方法
...}
定义 Person.toString() 方法后,在显示的时候又没有用到啊?那document.write(body1); 是怎麽调用Person.toString()方法的呢?