4 回答

TA貢獻1895條經驗 獲得超7個贊
一種更簡潔的方法是完全省略該let Cat = {}部分。您可以使用該函數本身來創建Cat對象。
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貢獻2011條經驗 獲得超2個贊
您的函數返回 Cat,但這只是函數作用域中的一個名稱。為了在函數中使用該名稱,您需要執行以下操作:
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貢獻1752條經驗 獲得超4個贊
您會收到此錯誤,因為Cat僅在您的函數范圍內定義。要Cat全局定義,請使用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貢獻1998條經驗 獲得超6個贊
如果你想在控制臺上輸入時獲得你的 Cat,Cat.name你必須像這樣全局聲明它:
function createCat(name, age) {
return {
name: name,
age: age,
meow: function() {
return "Meow!"
},
};
}
window.Cat = createCat('name', 2);
然后您就可以在全球范圍內訪問您的 Cat。
您還可以將 Cat 分配給瀏覽器控制臺上的變量并通過Cat.name如下方式訪問它:
const Cat = createCat('name', 2);
添加回答
舉報