范围和嵌套功能

问题描述 投票:-2回答:2

大家好,我再次有点困惑。因此我面临的挑战是:

创建一个名为fullNameAndAge的函数,它接受3个名为firstNamelastNameage的参数。在fullNameAndAge中,通过将fullNamefirstName变量作为参数传入其中来调用lastName函数,并将该函数的结果存储在名为result的变量中。现在返回全名,作为用逗号和空格分隔的年龄。 (例如fullNameAndAge(“Jane”, “Doe”, 23)将返回'Jane Doe, 23'

答案关键状态fullNameAndAge("Jonah", "Hex", 46)应该返回"Jonah Hex, 46"

以下是我的一次尝试:

    function fullName(firstName, lastName) {
        return firstName + ' ' + lastName;
    }

     // your code under here
    function fullNameAndAge(firstName, lastName, age) {
        var result = null;

        function fullName(firstName, lastName) {
            result = firstName + ' ' + lastName;
            return result;
        }

        fullName(firstName, lastName);
        return result + ' , ' + age;
    }

    return fullNameAndAge('Jonah', 'Hex', 46);

我觉得我已经出现了,但还没有。我不知道我搞砸了哪里。

javascript function scope
2个回答
0
投票

你的最后一行是一个不在函数内的return语句

return语句结束函数执行并指定要返回给函数调用者的值

你可以在这里阅读更多https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return


0
投票

你可以创建一个构造函数和fullName到它的原型

function FullNameAndAge(firstName, lastName, age) {
  this.firstName = firstName;
  this.lastName = lastName;
  this.age = age;
}


FullNameAndAge.prototype.fullName = function() {
  return this.firstName + ' ' + this.lastName + ',' + this.age;

}

let m = new FullNameAndAge('Jonah', 'Hex', 46).fullName();
console.log(m)
© www.soinside.com 2019 - 2024. All rights reserved.