Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将函数输入连接到另一个函数调用的文本?_Javascript - Fatal编程技术网

Javascript 是否可以将函数输入连接到另一个函数调用的文本?

Javascript 是否可以将函数输入连接到另一个函数调用的文本?,javascript,Javascript,首先是对这个糟糕的标题的称呼,不知道如何用一句话来解释 我有这个Javascript函数(为了回答这个问题而简化了它) 我将一个整数传递到函数中。在我有“zone1227”的地方,我希望1227是我传入的整数 我试过这个 var zonename=“zone”+zone var objects=zonename.getObjects() 但这不起作用 这可能吗?对于传入的每个可能的整数,函数确实存在,但我希望代码紧凑,而不是一长串带有硬编码函数名的if语句。不,不能使用字符串值引用变量,也不能将

首先是对这个糟糕的标题的称呼,不知道如何用一句话来解释

我有这个Javascript函数(为了回答这个问题而简化了它)

我将一个整数传递到函数中。在我有“zone1227”的地方,我希望1227是我传入的整数

我试过这个

var zonename=“zone”+zone

var objects=zonename.getObjects()

但这不起作用

这可能吗?对于传入的每个可能的整数,函数确实存在,但我希望代码紧凑,而不是一长串带有硬编码函数名的if语句。

不,不能使用字符串值引用变量,也不能将任何内容连接到变量名上。编辑:原来你可以。你还是不应该

是的,您可以避免使用长硬编码if/elseif序列:使用数组

那么你可以这样说:

function change_col(arr, i)
{
    var objects= arr[i].getObjects();
}
电话会是这样的:

change_col(zone, 1227);

由于
zone1227
显然是一个全局变量,因此也可以将其写入
window.zone1227
window['zone1227']
。这意味着您可以通过以下方式实现您所描述的:

function change_col(zone){

    var objects= window['zone' + zone].getObjects();

}

尽管如此,我同意Interrobang的上述评论。这不是一个好方法来完成你真正想完成的事情。您不应该通过包含全局变量名称的字符串引用全局变量。

让我说,这无疑是构建应用程序的错误方法。
function change_col(zone){

    var objects= window['zone' + zone].getObjects();

}