iT邦幫忙

1

JS將「物件」轉換成「function構造函數」遇到問題.....

  • 分享至 

  • xImage

JS將「物件」轉換成「function構造函數」時age未出現.....
有人知道嗎...是程式碼那裡寫錯了?

目前原始物件是名片5

  const card5={
    name:'小明',
    age:30,
  }
  console.log(card5)

改成function構造函數名片6~9

  function createCard(initName){
    this.name=initName
  }
  function age(initAge){
    this.age=initAge
  }

  const card6=new createCard('小林');new age(28)
  const card7=new createCard('小黃');new age(22)
  const card8=new createCard('小陳');new age(25)
  const card9=new createCard('小張');new age(20)
  console.log(card6)
  console.log(card7)
  console.log(card8)
  console.log(card9)
const card6=new createCard('小林');new age(28)
                   ↑↑
不是寫在同一行,他就知道new age(28)的對象是誰XDD
你可以思考一下你這樣寫,this是哪位呢
累累 iT邦新手 5 級 ‧ 2021-09-24 15:33:37 檢舉
ㄎㄎ先不要吐血.聽我細細道來....我真的有給他age喔.....
function age(initAge){
.................. ↑↑...............
this.age=initAge
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
qaz11226633
iT邦新手 4 級 ‧ 2021-09-24 09:09:29
最佳解答

ES6 Class 寫法

class Card {
  constructor(name,age) {
    this.name = name;
    this.age = age;
  }
}
const card6 = new Card('小林', 28);
console.log(card6);
累累 iT邦新手 5 級 ‧ 2021-09-24 15:23:53 檢舉

感謝,學到一個新寫法^_^

累累
建立物件時 LOG出物件資料

class Card {
  constructor(name,age) {
    this.name = name;
    this.age = age;
    console.log(this);
  }
}

const card6=new Card('小林', 28);
const card7=new Card('小黃', 22);
累累 iT邦新手 5 級 ‧ 2021-09-24 19:37:34 檢舉

你好神....讚啦!!

6
小魚
iT邦大師 1 級 ‧ 2021-09-24 00:24:23

你沒有把age指定給誰啊...
要不然你可以這樣

function createCard(initName, initAge){
    this.name=initName
    this.age = initAge
}

const card6=new createCard('小林', 28);
const card7=new createCard('小黃', 22);
const card8=new createCard('小陳', 25);
const card9=new createCard('小張', 20);
console.log(card6)
console.log(card7)
console.log(card8)
console.log(card9)
累累 iT邦新手 5 級 ‧ 2021-09-24 15:19:54 檢舉

感謝教學!!

78953645845
iT邦見習生 ‧ 2021-09-24 19:52:13
【**此則訊息已被站方移除**】

我要發表回答

立即登入回答