我无法弄清楚如何在另一个函数内调用以前创建的函数?

时间:2018-01-10 22:12:38

标签: javascript

这是我的例子: //这是我创建的第一个函数,工作得很好

function fullName(firstName, lastName){
  console.log(firstName +" "+ lastName);
}
fullName("Jason", "Doe");

//下面是我在第一个函数之后创建的第二个函数,现在我想在fullNameAndAge函数中调用“Jason,Doe 33”,获取Jason Doe表单上面的函数。

function fullNameAndAge(firstName, lastName, age){

    console.log(firstName +" "+ lastName +" "+ age);  
}
fullNameAndAge(fullName(), 33);

5 个答案:

答案 0 :(得分:2)

你有一些问题。

  1. 你不是return来自你的职能部门。
  2. fullNameAndAge期望传递3个参数。即使fullName返回了某些内容,也只会将2个参数传递给fullNameAndAge
  3. 您未在fullName来电内向fullNameAndAge传递任何内容。
  4. 修改

    您的代码应如下所示:

    
    
    function fullName(firstName, lastName) {
            return firstName + " " + lastName;
        }
        
        fullName("Jason", "Doe");
        
        
        function fullNameAndAge(fullName, age) {
            console.log(fullName + " " + age);
        }
        
        fullNameAndAge(fullName("Jason", "Doe"), 33);
    
    
    

答案 1 :(得分:1)

如果你想从另一个函数调用一个函数,那就干脆就可以了。

像这样的事情

function fullName(firstName, lastName){
  console.log(firstName +" "+ lastName);
}

function fullNameAndAge(firstName, lastName, age){
    fullName(firstName, lastName);
    console.log(age);  
}
fullNameAndAge('John', `Doe`, 33);

答案 2 :(得分:0)

如果你想调用第二个函数中的第一个函数,那么你可以把它放在那个函数中:

function fullNameAndAge(firstName, lastName, age) {
    fullName(firstName, lastName);
    console.log(firstName +" "+ lastName +" "+ age);  
}
fullNameAndAge("Jason", "Doe", 33);

答案 3 :(得分:0)

这是你追求的吗?

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

function fullNameAndAge(firstName, lastName, age){

   return fullName(firstname, lastname)+" "+ age);  
}
fullNameAndAge("Jason", "Doe", 33);

答案 4 :(得分:0)

这里有一些问题。我会尽力表达你能做错的事情和可能的解决方法。

首先,您在此处调用fullName而不使用其参数:

fullNameAndAge(fullName(), 33);

一旦你将一个函数定义为接受一定数量的参数,你(一般来说)总是想用这些参数调用它。

其次,函数fullName不返回任何内容,它只调用console.log。为了在fullNameAndAge中使用fullName的返回值,必须从fullName返回值。一个建议是

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

这里我们返回一个对象文字,其中firstName和lastName键映射到其中包含的值。我们现在可以从fullNameAndAge访问它:

function fullNameAndAge(fullNameObj, age){
  console.log(fullNameObj.firstName +" "+ fullNameObj.lastName +" "+ age);  
}

所以我们现在可以这样称呼它:

fullNameAndAge(fullName("Jason", "Doe"), 33);



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

function fullNameAndAge(fullNameObj, age){
  console.log(fullNameObj.firstName +" "+ fullNameObj.lastName +" "+ age);  
}

fullNameAndAge(fullName("Jason", "Doe"), 33);