我有這段JavaScript代碼,並且我希望它能夠在第二個函數中使用calculate()
,但是問題在於第一個函數使用第二個函數中聲明的變量。此外,我需要var first=prompt
僅在調用chemicalcalc
時執行。第一個函數使用第二個函數中的變量,但第二個函數也調用第一個函數
function calculate(){
var calctrans=parseInt(firsttrans, 10)
return calctrans;
}
function chemicalcalc(){
var first=prompt("Enter first term\nLeave bank to go back to element finder");
if(first==""){
calculate();
}else{
var firsttrans=first.replace("h", 1);
}
}
chemicalcalc();
爲什麼您需要首先通過firsttrans來計算()?你說你想調用calculate()如果first是一個空字符串,但根據你當前的代碼聲明一個單獨的firsttrans變量的要點是用1代替所有的h,所以它不會在您完成此操作後調用calculate(),或者可能跳出該函數/如果第一個字符串是空字符串,則執行其他操作? – ajc2000
即使你可以訪問'firsttrans',它也不會被定義,因爲調用'calculate'時沒有給它賦值。它只在'else'部分給出一個值,你不叫'calculate'。此外,你沒有對「計算」返回的值做任何事情......所以,也許你可以解釋你想要發生的事情。 – trincot