//定义一个类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.属性名] 一种方式去访问。<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> 转载于:https://www.cnblogs.com/jxhwei/archive/2007/02/01/636523.html