javascript - 如何在 jQuery 中使用另一个变量按名称引用一个变量?

标签 javascript jquery

我希望能够通过使用字符串来引用数组,例如:

var arrayName = "people";

var people = [
    'image47.jpeg',
    'image48.jpeg',
    'image49.jpeg',
    'image50.jpeg',
    'image52.jpeg',
    'image53.jpeg',
    'image54.jpeg',
    'image55.jpeg',
]

function myFunc (arrayName)
{
    //arrayName is actually just a string that evaluates to "people", which then in turn would reference the var people, which is passed in.
}

关于如何做到这一点有什么想法吗?对不起,如果我遗漏了一些明显的东西。

最佳答案

您可以像这样简单地创建一个全局字典:

var people = ['image47.jpeg', 'image48.jpeg'];
var cars = ['image3.png', 'image42.gif'];
var global_arrays = {
    people: people,
    cars: cars
};

function myFunc(arrayName) {
   var ar = global_arrays[arrayName];
   // Do something with ar
}

请注意,myFunc 的第一行清楚地表明,这只是让 myFunc 首先接受数组本身的一种复杂方式。我强烈建议你这样做,就像这样:

function myFunc(ar) {
   // Do something with ar
}
myFunc(people);

这意味着您的代码可以被任何其他人(例如,想要渲染长颈鹿的第三方插件)重用,并且不需要任何全局变量。

关于javascript - 如何在 jQuery 中使用另一个变量按名称引用一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780493/

相关文章:

javascript - 将 ECMAScript 6 const 作为函数参数传递

jquery - AJAX 请求失败后显示 div(div 始终隐藏)

javascript - jQuery Validate Plugin - 触发单个字段的验证

javascript - 自动完成 JQuery UI 不工作?

javascript - 强制 OpenLayers Markers 图层在顶部绘制,并在下方选择图层

javascript - 难以重定向到 404 页面

javascript - Ajax - 将数据发布到多个页面

javascript - 如果他真的想离开页面,我该如何询问网络用户以进行确认?

javascript - 结合 JS 代码,不确定我是否获得了所需的变量

javascript - 逗号运算符什么时候有用?