JavaScript---對象

對象創建模式

創建對象的五種方式

  1. 使用Object構造函數
  2. 使用{}創建
  3. 使用工廠創建
  4. 使用構造函數創建
  5. 使用構造函數加原型創建

Object構造函數創建

優點:靈活性好,使用於對象屬性不確定的情況
缺陷:語句太多,雜亂

 var p = new Object()
        p.name = "tom"
        p.age = 12
        p.setName = function (name) {
            this.name = name
        }

使用{}創建

優點:使用於對象確定的情況
缺點:每創建一個對象,都需要這樣寫,代碼冗餘

  var per = {
            name:'bob',
            age:13,
            setName:function (name) {
                this.name = name
            }
        }

使用工廠創建對象

優點:利用工廠方法可創建多個對象。
缺點:創建的對象的類型模糊,都是Object類型

function creat(name,age){
            var obj = {
                name:name,
                age:age,
                setName:function (name) {
                    this.name = name
                }
            }
            return obj
        }
        var person = creat("hhh",88)
        console.log(person.name)

使用構造函數創建

優點:利用構造函數可創建多個對象。
缺點:但是產生了方法冗餘。每個對象都有一樣的方法

function Fun(name,age) {
            this.name = name
            this.age = age
            this.setName = function (name) {
                this.name = name
            }
        }
        var p2 = new Fun("yyy",33)
        console.log(p2.age)

構造函數加原型創建

避免了構造函數創建的對象的缺點,節省內存空間

function Fun(name,age) {
            this.name = name
            this.age = age
        }
        Fun.prototype.setName = function (name) {
            this.mame = name
        }
        var p2 = new Fun("yyy",33)
        console.log(p2.age)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章