我想看看 caller1、caller2 和 caller3 的定义是什么。我假设,因为我确信我们都是,它们是整数。因此,它看起来像这样:
var caller1 = 0
, caller2 = 1
, caller3 = 2
;//var
var categories = [];
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }
但我的另一个假设是它们可能是字符串,在这种情况下你做错了。使用对象而不是数组。
var caller1 = 'Gary'
, caller2 = 'John'
, caller3 = 'Paul'
;//var
var categories = {};
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }
但这甚至可以扩展到函数和数字:
var caller1 = function(){ return 'blah' }
, caller2 = 8
, caller3 = 'aString'
;//var
var categories = {};
categories[caller1] = "asasd";
categories[caller2] = "asasd";
categories[caller3] = "asasd";
function getNewItem(caller){ $("#" + categories[caller]).show() }