完全混淆了JS中的多个函数调用

时间:2018-09-06 17:30:51

标签: javascript function var

大家好,我们能为您提供帮助,在此先感谢您。我遇到的问题是由于以下问题引起的:

  

创建一个名为fullName的函数,该函数接受2个输入参数   称为firstName和lastName。在函数中,将两者串联   这些变量之间还有一个空格。 (例如   fullName(“ Brad”,“ Pitt”)将返回“ Brad Pitt”

在课程的最后,它应该返回fullName(Clark,Kent)  和fullName(约拿,十六进制)。和fullName应该是一个函数。

我尝试过:

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

 function fullName ( firstName, lastName) {   
       var firstName= " ";
       var LastName= " ";
       return firstName + '' + lastName; 
 }

我得到:

  

名字/姓氏已经定义

等等。我尝试了许多不同的方法来尝试回答这个问题,但是没有任何效果。

2 个答案:

答案 0 :(得分:1)

看,您需要知道参数和定义的var

的区别

编写时:function fullName(firstName, lastName){...}创建了一个函数,该函数需要两个名为firstNamelastName的参数。
现在,如果在函数内编写:var firstName = ...,则您将尝试覆盖参数名称,但该参数将无法正常工作(请注意,您可以更改参数值,但不能创建新的var名称相同),则需要创建一个具有其他名称的变量,例如var fName = firstName ...

请注意,javascript区分大小写,因此LastNamelastName不同。

但是要输出所需的内容,无需在函数内部创建其他变量。您只需要拥有第一个示例(但引号" "中带有空格)即是这样:

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

//calling the function and assigning the return to a variable
var fullname = fullName("Brad", "Pitt");

console.log(fullname)

答案 1 :(得分:1)

稍微修改您的第一种方法,

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

console.log(fullName("Clark", "Kent")); //it will return "Clark Kent"