3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
主要問(wèn)題是haveDog == yes& haveDog == no。這里yes&no是字符串。所以不得不比較喜歡'haveDog === 'yes'。沒(méi)用===。其次humanAge,僅當(dāng)用戶鍵入時(shí)才計(jì)算,yes否則它將undefined
function dogHuman(yes, no) {
var haveDog = prompt("Do you have a dog? " + "yes" + " or " + "no");
if (haveDog === 'yes') {
var dogAge = prompt("How old is your dog? ");
var humanAge = ((dogAge - 2) * 4) + 21;
alert("If your dog were human, it would be " + humanAge + " years old");
} else {
alert("Thank you for you attention");
}
}
dogHuman();

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
我不確定問(wèn)題是什么,所以我將回顧一下我注意到的所有內(nèi)容:
dogHuman
在沒(méi)有任何參數(shù)的情況下調(diào)用,并且查看您的代碼,它可能不應(yīng)該有任何參數(shù)。Javascript(事實(shí)上,大多數(shù)語(yǔ)言)按順序做事,所以
var humanAge = ((dogAge - 2) * 4) + 21;
應(yīng)該dogAge
首先確定。既然
haveDog
是拿一個(gè)prompt
,你可能想比較haveDog
而"yes"
不是僅僅yes
。"Do you have a dog? " + "yes" + " or " + "no"
可以重寫(xiě)為"Do you have a dog? yes or no"
變量設(shè)置一次;每次運(yùn)行它們時(shí),它們都不會(huì)重新運(yùn)行您設(shè)置的值;這種誤解很常見(jiàn),這也是我認(rèn)為早期humanAge
定義的來(lái)源。

TA貢獻(xiàn)2039條經(jīng)驗(yàn) 獲得超8個(gè)贊
你有幾個(gè)問(wèn)題,
將適當(dāng)?shù)膮?shù)傳遞給函數(shù)調(diào)用。
在提示之后移動(dòng)
humanAge
分配dogAge
,因?yàn)檫@需要首先發(fā)生。確保不要引用你的變量
function dogHuman(yes, no) {
var haveDog = prompt("Do you have a dog? " + yes + " or " + no);
if (haveDog === yes) {
var dogAge = prompt("How old is your dog? ");
var humanAge = ((dogAge - 2) * 4) + 21;
alert("If your dog were human, it would be " + humanAge + " years old");
dogHuman(yes, no); // Recursion
} else {
alert("Thank you for you attention");
}
}
dogHuman('yes', 'no'); // Pass your parameters into the call
添加回答
舉報(bào)