Javascript:函数数组及其调用方法

时间:2018-08-31 07:15:50

标签: javascript arrays function variables

这里的一切都很新,我知道我的问题必须非常简单,但是对于我的一生,我无法弄清楚!

我最近购买了Jon Duckett的“ Javascript&JQuery”(顺便说一句,我很喜欢)。但是,当本书开始使用函数时,特别是从第95页的函数中获取多个值时,将使用以下示例:

function getSize(width, height, depth) {
  var area = width * height;
  var volume = width * height * depth;
  var sizes = [area, volume];
  console.log(sizes);
}

var areaOne = getSize(3, 2, 3)[0];
var volumeOne = getSize(3, 2, 3)[1];

每当我在浏览器中运行此命令时,都会收到一条错误消息,指出“未捕获的TypeError:无法读取未定义的属性'0'。”

如果有人可以向我解释,或者为我指明了正确的方向,为什么使用该方法从函数调用数组中的索引对我不起作用。我只想知道为什么书中的这个例子不起作用。

预先感谢您,感谢您到目前为止我从使用此站点中学到的所有知识。

2 个答案:

答案 0 :(得分:3)

您缺少从函数返回数组结果

function getSize(width, height, depth) {
  var area = width * height;
  var volume = width * height * depth;
  var sizes = [area, volume];
  return sizes;
}

var areaOne = getSize(3, 2, 3)[0];
var volumeOne = getSize(3, 2, 3)[1];
  console.log(areaOne,volumeOne);

答案 1 :(得分:0)

您的函数未返回代码所期望的任何内容:添加return语句。

function getSize(width, height, depth) {
  var area = width * height;
  var volume = width * height * depth;
  var sizes = [area, volume];
  console.log(sizes);
  return [area,volume,sizes];
}

var areaOne = getSize(3, 2, 3)[0];
var volumeOne = getSize(3, 2, 3)[1];