//定义一个类
function TestClass(name)
{
//初始化时总数+1
TestClass.prototype.Count++;
//定义一个属性,并设置默认值
this.Name = name || "jxh";
//定义一个静态类属性
TestClass.prototype.Current.InternalName = this.Name;
//定义一个对象属性
this.internalClass = new InternalClass(this.Name);
//定义一个方法
this.GetFormatName = function()
{
var fname = this.internalClass.FormatName();
return fname;
}
}
//为TestClass类定义一个静态属性
TestClass.prototype.Count = 0;
//为TestClass类定义一个静态类属性
TestClass.prototype.Current = new InternalClass("没有实例");
//内部类
function InternalClass(name)
{
this.InternalName = name;
}
对于静态属性的访问,除了 [类名.prototype.属性名] 的访问方式外,直接用 [对象名.属性名] 也能访问,但由于 [对象名.属性名] 的访问方式如果对属性做了修改的话, [对象名.属性名] 将不在和 [类名.prototype.属性名] 的值一致,可能会引起误会,所以建议对静态属性只使用[类名.prototype.属性名] 一种方式去访问。function TestClass(name)
{
//初始化时总数+1
TestClass.prototype.Count++;
//定义一个属性,并设置默认值
this.Name = name || "jxh";
//定义一个静态类属性
TestClass.prototype.Current.InternalName = this.Name;
//定义一个对象属性
this.internalClass = new InternalClass(this.Name);
//定义一个方法
this.GetFormatName = function()
{
var fname = this.internalClass.FormatName();
return fname;
}
}
//为TestClass类定义一个静态属性
TestClass.prototype.Count = 0;
//为TestClass类定义一个静态类属性
TestClass.prototype.Current = new InternalClass("没有实例");
//内部类
function InternalClass(name)
{
this.InternalName = name;
}
<script language = "javascript">
function Click_Event()
{
alert("没有实例对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
var testClass1 = new TestClass();
alert("实例1个对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
var testClass2 = new TestClass("jxhwei");
alert("实例2个对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
}
</script>
function Click_Event()
{
alert("没有实例对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
var testClass1 = new TestClass();
alert("实例1个对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
var testClass2 = new TestClass("jxhwei");
alert("实例2个对象");
alert("TestClass.prototype.Count:" + TestClass.prototype.Count);
alert("TestClass.prototype.Current:" + TestClass.prototype.Current.InternalName);
}
</script>