此代码有效,但我不知道JavaScript是否正确执行返回超过1的值。因此,如果在JavaScript中可以返回一个函数,也许还可以返回多个值/对象/数组?
function Person (name, age) {
this.name = name;
this.age = age;
}
var ageDifference = function(person1, person2) {
return person1.age - person2.age;
};
function olderAge(person1, person2)
{
if (person1.age>person2.age) return person1.age;
else if (person1.age<person2.age) return person2.age;
else if (person1.age===person2.age) **return person1.age || person2.age;**
}
var alice = new Person("Alice", 30);
var billy = new Person("Billy", 25);
console.log("The older person is " + olderAge(alice, billy));
如果是,我不知道(但我认为这很愚蠢) - 如果我可以返回switch或if / else语句呢?但是,我认为这没有任何意义。
答案 0 :(得分:2)
不,严格来说,你只能返回一个对象/数组/值。
如果您需要这样做,您将返回一个包含多个结果的对象。
以此功能为例:
var function = testFunction() {
var a = "some string";
var b = ['some', 'array'];
var c = { some: 'object'};
return {
itemOne: a,
itemTwo: b,
itemThree: c,
};
};
然后您可以像这样访问结果:
testFunction().itemOne // returns "some string"
testFunction().itemTwo // returns ['some', 'array']
testFunction().itemThree // returns { some: 'object'}
或者:
var result = testFunction();
result.itemOne // returns "some string"
result.itemTwo // returns ['some', 'array']
result.itemThree // returns { some: 'object'}