使用函数的参数作为键从数组中获取值

Use parameter of a function as the key to get the value from an array

我有一个 javascript/jQuery 设置,其中给出了页面名称。然后一个函数应该接受这个,获取页面的 html 数据并提醒它。

HTML

var page = $(this).attr('id');
viewPage(page);

function viewPage(page) {
    var html = pages.page;
    alert(html);
}

var pages = {
    page1: 'Content of page.....',
    [etc...]
}

但是,变量 html 总是返回未定义的状态。当我从 pages 数组手动访问页面时,它工作正常。有什么问题?

提前致谢!

您的参数必须被评估为您的 pages 对象的键。

尝试:

function viewPage(page) {
  var html = pages[page];
  alert(html);
}

当您使用 pages.page 时,它会查找密钥 'page'。当您执行 pages[page] 时,它会将您的 page 参数评估为它等于的任何值,并在 pages.

上查找该键

首先,pages 不是一个数组,它是一个 javascript 普通对象。

其次,你需要使用联想记法,而不是点记法。

function viewPage(page) {
    var html = pages[page];
    alert(html);
}