Javascript 如何在js中定义可变数量的变量?

Javascript 如何在js中定义可变数量的变量?,javascript,Javascript,下面是一个简单的例子,说明我想做什么 我想要一个函数returnFunctions,它将整数N作为参数,并将定义以下函数: func1(x) = x func2(x) = 2*x ... funcN(x) = n*x 如何在javascript中执行类似操作?您可以执行以下操作: function returnFunctions(n) { for (var i = 1; i <= n; i++) { (function(i){ window['func' + i]

下面是一个简单的例子,说明我想做什么

我想要一个函数returnFunctions,它将整数N作为参数,并将定义以下函数:

func1(x) = x
func2(x) = 2*x
...
funcN(x) = n*x
如何在javascript中执行类似操作?

您可以执行以下操作:

function returnFunctions(n) {
  for (var i = 1; i <= n; i++) {
    (function(i){
      window['func' + i] = function(x) { return x * i; };
    })(i);
  }
}
函数返回函数(n){
对于(var i=1;i类似的东西

function Fn(n,x)
{ return n*x;
}

为什么不干脆做
somefunc(n,x)
?将被乘数作为另一个参数传递,而不是为每一个可能的被乘数创建一个函数,不是更容易吗?或者这是一个精心设计的函数,只在课堂上有用吗?罗伯特,我相信这是我心目中应用程序的唯一方法。我需要能够单独调用每个函数也许是一个更好的选择,但这根本不是OP想要的。@Guffa我知道,考虑到你的答案更好,我承认,我只是写了一个替代的解决方案,以防问题出错…:PThanks。为什么这个请求被认为是奇怪的?在我的应用程序中,这些函数都在一个图上画了一个单独的可移动点。我想要n个标记为1,2,…,n的可移动点。为了重用代码,这似乎是一种可行的方法。拥有
n
类似的函数从来都不是一个好主意。您应该只使用一个函数,并从点本身获取变量数据;而不是在函数内部硬编码
i
,将节点作为函数的一个参数,或者更好的是,如果您的函数正确注册为事件侦听器,您可以从函数自动接收的
事件中获取元素。这将大大提高内存效率。@StevenGubkin:几乎所有涉及动态创建标识符的请求都是奇数。使用数组或者对象通常是更好的解决方案。我明白了。我是一名数学家,对编程非常陌生,从我的传统来看,这是很自然的事情。