我们是否应该使用Array或Object从JavaScript函数中获取多个变量?这甚至是重要的吗?这样做的最佳做法是什么?
答案 0 :(得分:2)
这完全取决于您返回的数据类型。如果您返回的变量列表中的所有内容都是相同的类型,因此不需要单独标识或者如果顺序计数,那么您应该将它们放在一个数组中并返回该数组。
如果你要返回N个不完全相同的东西,那么你应该把它们放在一个带有属性名的对象中并返回该对象。虽然你也可以在一个数组中返回这些,只是有一个隐含的规则,即数组中的第一项是“x”坐标,数组中的第二项是“y”坐标,然后第三项是“宽度”等等,如果您使用具有命名属性的对象,您的代码会更自我记录,其中代码实际标识哪个是哪个。从长远来看,我认为这更易于维护(特别是那些没有编写原始代码的人)。
答案 1 :(得分:1)
使用对象以便命名返回值。
答案 2 :(得分:0)
如果订单计数使用数组,则对象不知道其属性的顺序。请看一下这个问题,它可能会回答您的一些问题:Objects vs arrays in Javascript for key/value pairs
答案 3 :(得分:0)
如果您的#39;愿意使用Coffeescript,您只需返回一个元组。
weatherReport = (location) ->
# Make an Ajax request to fetch the weather...
[location, 72, "Mostly Sunny"]
[city, temp, forecast] = weatherReport "Berkeley, CA"
答案 4 :(得分:0)
以下是经验法则:
如果您需要字符串索引或非0...N
的数字索引,请使用对象。
如果不这样做,或者订单很重要,请使用数组。