js面向對象之構造函數


最簡單的面向對象程序
<script type="text/javascript"> var obj = new Object(); obj.qq = '1079161148'; obj.name = 'mr lan' obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } obj.showName() obj.showQQ() </script>
封裝重復使用的方法;
<script type="text/javascript"> function createPerson(name, qq) {//構造函數 構建出一個對象; var obj = new Object(); obj.qq = qq; obj.name = name obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } //出廠 return obj } var obj = createPerson('Mr Lan','1079161148'); var obj2 = createPerson('Mr Li','1079161168'); obj.showName(); obj.showQQ(); </script>
//升級------->構造函數調用加new
<script type="text/javascript"> function createPerson(name, qq) { //構造函數 構建出一個對象; this.qq = qq; this.name = name this.showName = function() { alert('my name =' + this.name) } this.showQQ = function() { alert('my qq =' + this.qq) } } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); obj.showName() obj.showQQ()
  alert(obj.showName()==obj2.showName()) //false
</script>
//進階面向對象編程
<script type="text/javascript"> //混合構造函數混合方式(構造函數配合原型) function createPerson(name, qq) { //構造函數加屬性 this.qq = qq; this.name = name } createPerson.prototype.showName = function(){//原型加方法 alert('my name =' + this.name) } createPerson.prototype.showQQ = function(){ alert('my qq =' + this.qq) } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); //obj.showName() //還可以繼續用不影響使用 //obj.showQQ() alert(obj.showName()==obj2.showName())//true </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM