2014-10-01 94 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中定义它。

这不是要走的路,你应该从你的函数中返回值并赋值给你的本地变量。