僅嘗試將h1.name
打印到控制檯,但我收到ReferenceError: h1 is not defined
錯誤。如果我輸入1,2或3,則無關緊要,仍然是同樣的錯誤。我究竟做錯了什麼?簡單變量未在Javascript中定義參考錯誤
function Hand(name, sChips) {
this.name = name;
this.sChips = sChips;
}
function start() {
var nHands = prompt("How many hands do you want to play?(1,2, or 3)");
var nHands = Number(nHands);
if (0 < nHands < 4) {
if (nHands === 1) {
var h1 = new Hand("First Hand", 150000);
}
else if (nHands === 2) {
var h1 = new Hand("First Hand", 75000);
var h2 = new Hand("Second Hand", 75000);
}
else if (nHands === 3) {
var h1 = new Hand("First Hand", 50000);
var h2 = new Hand("Second Hand", 50000);
var h3 = new Hand("Third Hand", 50000);
}
else {
start();
}
}
};
start();
console.log(h1.name)
'h1' varibale只存在於'start()'函數內部,它是本地的。 –
無論如何,這並不是理想的var聲明。你應該在函數的開頭聲明你的變量。 JavaScript變量只是函數範圍的,因此在'if-else'塊中聲明變量是沒有意義的 – jasonscript
只返回你想要訪問的內容:return {h1:h1,h2:h2}和引用是這樣的:start() .h1.name;你可以在你的啓動函數中的最後一個「}」之前做返回。 –