使用for循环创建变量

时间:2019-08-14 17:23:17

标签: javascript variables closures

我正在尝试创建20个存储在变量中的函数。每个数字都将特定数量的数字加到另一数量上。这是一个示例:

p

在这种情况下:

array

输出应为25

那么,如何在不创建数组的情况下创建这20个变量? (我尝试过,它可以工作) 谢谢,这只是出于好奇。

2 个答案:

答案 0 :(得分:0)

尝试以下

function creaSuma(x){
    return function(y){
        return x + y;
    }
}

for(let i=1; i<21; i++){
    window['add' + i] = creaSuma(i); //this doesn't work. How would you change it?
}
console.log(add15(10));

将输出25

我正在使用窗口进行动态变量命名,因为它引用了您正在使用的所有全局变量和全局函数。

您可以选择使用与自定义对象相同的方法。

答案 1 :(得分:0)

正如我在原始帖子的评论中提到的,请使用一个对象,并将其作为对象的动态属性/字段。

这是您修改的代码:

function creaSuma(x) {
    return function (y) {
        return x + y;
    }
}
var x = function () {

}
for (let i = 1; i < 21; i++) {
    x['add' + i] = creaSuma(i); //this doesn't work. How would you change it?
}

console.log(x.add15(10));