首頁  >  文章  >  web前端  >  Javascript建立自訂物件幾種方式實例匯總

Javascript建立自訂物件幾種方式實例匯總

伊谢尔伦
伊谢尔伦原創
2017-07-27 17:01:471616瀏覽

Object建構子/物件字面量

撇開設計模式不談,使用最基本的方法,就是先呼叫Object建構子來建立一個對象,然後給對象添加屬性.

var student = new Object();
     student.name = "xiao ming";
     student.age = 20;
     student.getName = function () {
         alert(this.name);
     }

熟悉javascript 對象字面量的同學,可以換一種更好的寫法,至少看上去更簡潔。

 var student = {
        name: "xiao hong",
        age: 18,
        getName: function () {
            alert(this.name);
        }
    };

 缺點:上面方法有個缺點就是,使用同一個介面建立很多類似的物件時,會產生大量重複的程式碼。這個應該很容易理解了,函數(方法或類別)一般是用來創建公共的方法,上面的物件創建過程,根本沒有函數的影子,所以談不上什麼重用。

自訂類型的建構子:

建構子可以用來建立特定類型的物件。

  function Student(name,age) {
         this.name = name;
         this.age = age;
         this.sayName = function () {
             alert(this.name);
         }
     }
     var p3 = new Student("ming", 20);
     var p4 = new Student("hong", 18);
     alert(p3 instanceof Student); 
    alert(p3.sayName==p4.sayName); //false

缺點:自訂建構函式的不足之處就是,每個物件都會重新創建自己的方法,其實這些方法功能是一樣的(像sayName),但是它們卻不相同(p3.sayName和p4.sayName不相等)。

建構子與原型的組合:

     function Student(name, age, friends) {
         this.name = name;
         this.age = age;
         this.friends = friends;
     }
     Student.prototype = {
         constructor: Student,
         sayName: function () {
             alert(this.name);
         }
     };

總結:建構子與原型的組合 是一種廣受認可的創建自訂類型的方法。 也是上面這些方法中的最優方法。

以上是Javascript建立自訂物件幾種方式實例匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn