4 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
一種更簡(jiǎn)潔的方法是完全省略該let Cat = {}部分。您可以使用該函數(shù)本身來(lái)創(chuàng)建Cat對(duì)象。
function Cat(name, age) {
this.name = name;
this.age = age;
this.meow = () => console.log("Meow!");
}
let myCat = new Cat("Waldorf", 16)
let anotherCat = new Cat("Statler", 12)
myCat.meow()
console.log(anotherCat.name)

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
您的函數(shù)返回 Cat,但這只是函數(shù)作用域中的一個(gè)名稱(chēng)。為了在函數(shù)中使用該名稱(chēng),您需要執(zhí)行以下操作:
function createCat(name, age) {
var cat = {};
cat.Name = name;
cat.Age = age;
cat.meow = () => "Meow!";
return cat;
}
let Cat = createCat("mist", 16);
console.log(Cat)

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
您會(huì)收到此錯(cuò)誤,因?yàn)镃at僅在您的函數(shù)范圍內(nèi)定義。要Cat全局定義,請(qǐng)使用window.Cat而不是var Cat:
function createCat(name, age) {
window.Cat = {};
Cat.Name = name;
Cat.Age = age;
Cat.meow = function() {
return "Meow!"
};
return Cat;
}
console.log(Cat.Name);

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果你想在控制臺(tái)上輸入時(shí)獲得你的 Cat,Cat.name你必須像這樣全局聲明它:
function createCat(name, age) {
return {
name: name,
age: age,
meow: function() {
return "Meow!"
},
};
}
window.Cat = createCat('name', 2);
然后您就可以在全球范圍內(nèi)訪問(wèn)您的 Cat。
您還可以將 Cat 分配給瀏覽器控制臺(tái)上的變量并通過(guò)Cat.name如下方式訪問(wèn)它:
const Cat = createCat('name', 2);
添加回答
舉報(bào)