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