//構造函數 function myClass(message) { //公有屬性 this.myMessage = message; //私有屬性 var _separator = ' -'; var _myOwner = this; //私有方法 function showMessage() { alert(_myOwner.myMessage); } //特權方法(也是公有方法) this.appendToMessage = function(appendMessage) { this.myMessage += _separator + appendMessage; showMessage(); } } //公有方法 myClass.prototype.clearMessage = function() { this.myMessage = ''; } myClass.prototype = { clearMessage:function(){ this.myMessage = ''; } } //靜態屬性 myClass.myName = 'SOBusiness'; //靜態方法 myClass.alertName = function() { alert(this.name); }
注:其中公有方法聲明的部分採用的兩種方式,在實際應用中一般採取一種方式就可以了,如果兩種方式都要採用的話,應注意順序,防止前面寫的方法被清空或覆蓋。