2014-10-01 39 views
-1

我有一個函數,我收到一個值,根據該值,我在函數內部執行另一個for過程。 for循環是不同的,但裏面的程序是相同的。我想調用for中的一個函數,它將在第一個函數中更改一個局部變量。一個例子是:更改函數中函數的局部變量

// option = 1 to get first prime number from 1-100, 2 to get the last 

function GetPrimeNumber(option){ 
    var number; 

    if(option == 1){ 
    for(i=1; i < 101; i++){ 
     DetermineIfPrime(i); 
    }  
    } 
    else if (option == 2){ 
    for(i=100; i > 0; i--){ 
     DetermineIfPrime(i); 
    } 
    } 
} 

而且後來有我的函數,確定數量

function DetermineIfPrime(a){ 

//Procedure 

    if (a == prime){ 
    number = a; 
    break; 
    } 
} 

有沒有辦法返回的值,如將anumberbreak到以前的功能是什麼?

+2

*「有沒有辦法返回值...」*是的,是的。 – 2014-10-01 16:06:39

+1

是的,有一種方法來從函數返回值... – Bergi 2014-10-01 16:09:07

+1

我推薦閱讀[** MDN JavaScript指南關於函數**](https://developer.mozilla.org/en-US/docs/Web/JavaScript的/指南/功能)。 – 2014-10-01 16:15:50

回答

0

returnDetermineIfPrime和組返回值number這樣的:

function GetPrimeNumber(option){ 
    var number; 

    if (option == 1) { 
    for(i=1; i < 101; i++) { 
     number = DetermineIfPrime(i); 
    }  
    } else if (option == 2) { 
    for (i=100; i > 0; i--) { 
     number = DetermineIfPrime(i); 
    } 
    } 
} 

function DetermineIfPrime(a){ 

    //Procedure 

    if (a == prime){ 
    return a; 
    } 
} 
0

號碼是您的本地GetPrimeNumber功能,所以如果你希望能夠「看到」它的DetermineIfPrime功能,你需要在GetPrimerNumber中定義它。

這不是要走的路,你應該從你的函數中返回值並賦值給你的本地變量。