Javascript 在函数中更改函数中的局部变量
我有一个函数,在其中我接收一个值,并根据该值在函数内为执行另一个Javascript 在函数中更改函数中的局部变量,javascript,Javascript,我有一个函数,在其中我接收一个值,并根据该值在函数内为执行另一个过程。循环的不同,但内部过程相同。我想为调用中的一个函数,该函数随后将更改第一个函数中的局部变量。例如: // 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+
过程。
循环的不同,但内部过程相同。我想为
调用中的一个函数,该函数随后将更改第一个函数中的局部变量。例如:
// 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);
}
}
}
有没有一种方法可以将a
返回到number
或break
等值返回到上一个函数?从determinateifprime
返回,并将返回值设置为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;
}
}
函数GetPrimeNumber(选项){
var数;
如果(选项==1){
对于(i=1;i<101;i++){
数量=确定数量(i);
}
}否则如果(选项==2){
对于(i=100;i>0;i--){
数量=确定数量(i);
}
}
}
函数确定优先(a){
//程序
如果(a==素数){
返回a;
}
}
数字是GetPrimeNumber函数的本地数字,因此如果您希望DetermineIfPrime函数能够“看到”它,则需要在GetPrimerNumber中定义它
但这不是方法,您应该从函数返回值并将其分配给本地变量。“有方法返回值吗…”是的,有。是的,有一种方法可以从函数中返回
值…我建议您阅读。您不能从您所在的函数中影响另一个函数中以关键字var
限定范围的变量。改用构造函数或对象。注意:您可以在函数determinetifprime(){}
中使用返回值,在GetPrimeNumber()
中赋值number=determinetifprime(i)
,但我看不出它有什么意义,因为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;
}
}