我试图在JavaScript中返回两个值。这可能吗?
var newCodes = function() { var dCodes = fg.codecsCodes.rs; var dCodes2 = fg.codecsCodes2.rs; return dCodes, dCodes2; };
不,但您可以返回一个包含您的值的数组:
function getValues() { return [getFirstValue(), getSecondValue()]; }
然后你可以像这样访问它们:
var values = getValues(); var first = values[0]; var second = values[1];
使用最新的ECMAScript 6 语法*,您还可以更直观地解构返回值:
const [first, second] = getValues();
如果您想在每个返回值上放置“标签”(更易于维护),您可以返回一个对象:
function getValues() { return { first: getFirstValue(), second: getSecondValue(), }; }
并访问它们:
var values = getValues(); var first = values.first; var second = values.second;
或者使用 ES6 语法:
const {first, second} = getValues();
* 有关浏览器兼容性,请参阅此表。基本上,除了 IE 之外的所有现代浏览器都支持这种语法,但您可以在构建时使用Babel等工具将 ES6 代码编译为与 IE 兼容的 JavaScript 。