如何在Javascript中创建多个变量

如何在Javascript中创建多个变量,javascript,variables,Javascript,Variables,各位!! 我对Javascript相当陌生,我想通过制作一个程序来挑战自己,该程序将计算出输入的数字是否为素数。到目前为止,这是我的代码: var a = prompt('What should the number be?'); var n = parseInt(a); var counter = n - 1; var b = n/counter; var c = Math.floor(b); if (n < 1) { window.aler

各位!! 我对Javascript相当陌生,我想通过制作一个程序来挑战自己,该程序将计算出输入的数字是否为素数。到目前为止,这是我的代码:

var a = prompt('What should the number be?');
var n = parseInt(a);           
var counter = n - 1;
var b = n/counter;
var c = Math.floor(b);
if (n < 1) {
            window.alert('Invalid: negative numbers are neither prime nor composite!');
        }
        if (n === 1){
            window.alert('1 is neither prime nor composite!');
        } else {
            if (b-c != 0) {

            }
        }
var a=prompt('数字应该是什么?');
var n=parseInt(a);
var计数器=n-1;
var b=n/计数器;
var c=数学楼层(b);
if(n<1){
window.alert('无效:负数既不是素数也不是复合数!');
}
如果(n==1){
window.alert('1既不是素数也不是复合数!');
}否则{
如果(b-c!=0){
}
}

我计划制作一组变量,每个变量的名称都有一个数字。我不需要一种更简单或不同的方式来编写代码。那么,如何让脚本自动编写许多不同的变量呢?提前谢谢

这听起来是使用数组的好例子。在同一个变量名中存储大量值是一种简单的方法,但由一个索引(一个数字)调用。请查看MDN页面以了解更多信息

以下是在数组中存储大量值的示例:

var bigNumber = 100000;
var myArray = new Array();
var tally = 0;
for( i = 0; i < bigNumber; i++ )
{
    tally += i;
    myArray[i] = tally;
}
var array= [
    "a",
    "b",
    "c"
];
array.push("d");
array.push("e");
alert(array[4]);
var bigNumber=100000;
var myArray=新数组();
var=0;
对于(i=0;i

完成此操作后,myArray中将包含100000个值
myArray[0]=0
myArray[1]=1
myArray[2]=3
myArray[3]=6
myArray[4]=10
,等等。

这样做的邪恶方式是在全局对象(窗口)上创建变量,如下:

// This is bad because it pollutes the global namespace:
for (var i = 0; i < 10; i++) {
  window['num' + i] = i;
}
//这很糟糕,因为它污染了全局命名空间:
对于(变量i=0;i<10;i++){
窗口['num'+i]=i;
}
更好的方法是创建一个空对象,并将其用作变量的名称空间

var o = {};
for (var i = 0; i < 10; i++) {
  o['num' + i] = i;
}
var o={};
对于(变量i=0;i<10;i++){
o['num'+i]=i;
}

我不认为你的问题在于变量太多。您应该使用函数来分离具有不同用途的代码部分:

function isPrime(n) {
    var counter = n - 1;
    var b = n / counter;
    var c = Math.floor(b);
    if (n < 1) {
        return false;
    }
    if (n === 1) {
        return false;
    } else {
        if (b - c != 0) {

        }
    }
}


var n = parseInt(prompt('What should the number be?'));
alert('The given number ' + n + ' is ' + (isPrime(n) ? '' : ' not') + ' a prime.');
如果生成的变量没有名称,则可以使用数组:

var bigNumber = 100000;
var myArray = new Array();
var tally = 0;
for( i = 0; i < bigNumber; i++ )
{
    tally += i;
    myArray[i] = tally;
}
var array= [
    "a",
    "b",
    "c"
];
array.push("d");
array.push("e");
alert(array[4]);

我是个守旧派——我总是忘记这一点。我想确保在值上有可预测的数字索引,因为最初的问题包含了这个想法。如果数组是变量的集合,如何将数组转换为变量。重读我的答案的末尾,它显示了如何访问存储在数组中的各个值。如何使程序自动访问数组的值在循环上读取-我在示例中使用了一个来设置值。也可以使用一个来使用数组中的所有值。