2014-01-06 65 views
0

我想要如何調用函數中的函數。如何在JavaScript中調用函數中的函數

這是我的函數:

function TempConvert() { 
     var tempVal = prompt('Enter a temperature'); 
     var newTemp; 

     newTemp = (tempVal - 32/1.8 + 273.15); 
     alert(newTemp); 
     } 

這需要它被稱爲:

function iMenu() { 
    var choice = prompt("Type in a number for the corresponding option\nOption 1: Temperature Converter\nOption 2: Option 2\nOption 3: Exit"); 
    if (choice == "1") { 

     // TempConverter needs to go here <<---- 

    } 
     else if (choice == "2") { 
     alert('Option2'); 
    } 
     else { 
     alert('Bye'); 
     return; 
    } 
} 

感謝。我試過把它放在那裏,但它沒有效果。

+3

http://eloquentjavascript.net/chapter3.html –

+0

你能說明這些函數是如何位於整個代碼中的嗎?看起來像某種範圍的問題,所以我們需要知道什麼是什麼功能。 – kmoe

回答

0

所有你需要做的是調用函數,就像這樣:

if (choice == "1") { 
    TempConvert(); 
} 
0
TempConvert(); 

是你所需要的。函數範圍似乎在範圍內,那麼你的問題是什麼?

從您的問題的標題看,看起來您不能調用函數外的函數,因爲範圍在之內。您只能調用功能全局的函數。

只有我能想到這樣做的一種方法:

移動功能的陣列,像myArray[0] = (TempConvert()),只要你想使用它,只是執行myArray[0];

+0

也許'TempCovert'是本地的一個不同的功能? –

0

你可以叫喜歡,

function iMenu() { 
    var choice = prompt("Type in a number for the corresponding option\nOption 1: Temperature Converter\nOption 2: Option 2\nOption 3: Exit"); 
    if (choice == "1") { 
     TempConvert(); // added here 
    } else if (choice == "2") { 
     alert('Option2'); 
    } else { 
     alert('Bye'); 
     return; 
    } 
} 
0

只需撥打你的函數()

function iMenu() { 
     var choice = prompt("Type in a number for the corresponding option\nOption 1: Temperature Converter\nOption 2: Option 2\nOption 3: Exit"); 
     if (choice == "1") { 

      TempConvert(); 

     } 
      else if (choice == "2") { 
      alert('Option2'); 
     } 
      else { 
      alert('Bye'); 
      return; 
     } 
    } 
0

這裏沒有關於範圍的問題。如果兩個功能處於同一水平,請致電TempConvert();可能是您將其拼寫錯誤。