亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

對象字面量和new關鍵字實例化對象區別

對象字面量和new關鍵字實例化對象區別

拉莫斯之舞 2018-08-03 20:06:39
var t1 = [];var t2 = [];var arr = [   {    id: 1,     name: 'a1'   },   {    id: 2,     name: 'a2'   },   {    id: 3,     name: 'a3'   } ]function test(id, name) {  this.id = id  this.name = name  this.idAndName = id + name } arr.forEach((item, index) => {  // 寫法1,直接添加   t1.push({    id: item.id,    name: item.name,    idAndName: item.id + item.name   })  // 寫法2,通過new的方式添加   t2.push(new test(item.id, item.name)); })console.log(t1, t2);上面的兩種寫法哪種方式好些?有什么區別
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

當然是字面量方式, 簡潔, 快, 關鍵是可以少敲很多代碼

查看完整回答
反對 回復 2018-08-05
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

答案是不一定。
取決于你這個數據解構會不會被大量復用到。
假設這個結構是這樣的
我們暫時稱它為obj

{    a:[
        {a1:"foo",a2:"bar"},
        {a1:"baz",a2:"bar"},
    ],    b:"hello",    c:"world",    //...
    z:"too much",
}

如果你有多處都需要寫這個
那你每次寫一遍,甚至是粘貼一遍都是痛苦

又或者說
你有一個方法 要求傳入的參數一定要是類似obj那樣的結構
如果你用new關鍵字創建出來一個實例,則可以快速的使用instanceof來判斷
反之,你就要一個個屬性的去校驗過來


查看完整回答
反對 回復 2018-08-05
  • 2 回答
  • 0 關注
  • 1112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號