Javascript "11. Functions Recap" glitches


#1

There is a glitch in the Javascript lesson "11. Function Recap".

var nameString = function (name)
{console.log("Hi, I am" + " " + name);};
nameString("Nicole")

DISPLAY:
Hi, I am Nicole
Hi, I am Susie

Error Message:
Oops, try again. Hmm, it looks like your nameString() function doesn't return 'Hi, I am Susie' for the name Susie.

The instructions were to put your own name into the function, but I tried putting Susie in just to see what would happen, and it still doesn't work.

DISPLAY:
Hi, I am Susie
Hi, I am Susie

Error Message:
Oops, try again. Hmm, it looks like your nameString() function doesn't return 'Hi, I am Susie' for the name Susie.


#2

returning and printing are different actions, which one are you doing?


#3

I'm getting the same problem :frowning:


#4

If you need help with this section:

  1. Go to https://discuss.codecademy.com/c/javascript/javascript-beginner-en-6LzGd
  2. Click + New Topic
  3. Fill in the template
  4. Someone will be along to help

#6

var nameString = function (name) {
return("Hi, I am" + " " + name);
};
console.log(nameString('Susie')); // this one works :slight_smile:


#7

Thanks I had the right print out and code but it would not let me pass,


#8

I'm guessing your name isn't Susie. Mine isn't either. The exercise is auto filling. See if you can get it to say, "Hi, my name is Asim." If you can't then it's still busted.


#9

Between "," and "I",you code maybe lost a blank.


#10

@lriver,
You are using the console.log() Method
instead of the required return statement
as is expressed in the Oops message
Oops, try again. Hmm, it looks like your nameString() function doesn't return 'Hi, I am Susie' for the name Susie.


#11

var nameString = function (name)
{
return "Hi, I am" + " " + name;
}
nameString("gary")
console.log("Hi, I am" + " " + name);

//Here you go..It works...


#12

@lriver
@nmhicks
@kachidousa

Please read the Function talk
and concentrate on
- parameter
- argument
- calling a function
- usage of the return statement

the FUNCTION talk

var myFunc = function( param1, param2) {
       //Begin of  anonymous FUNCTION-BODY
       //VARIABLE -myFunc- has an -anonymous function- assigned
       //this -anonymous function- has 2 PARAMETERS param1 and param2
       //param1 and param2 PARAMETERS are used 
       //as -local- VARIABLES throughout the FUNCTION-BODY

      console.log( param1 + " and " + param2 ) ;

      //End of anonymous FUNCTION-BODY
};

If you want to call/execute the anonymous function
you will have to add a pair of parentheses to the variable myFunc
like
myFunc();
As the anonymous function was defined
as having 2 parameters
you have to provide 2 arguments
in our case 2 string VALUES "Alena" and "Lauren"
like
myFunc("Alena","Lauren");

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

function with 1 parameter using return-statement

var myFunction = function( param1 ) {
       //Begin of FUNCTION-BODY
       //myFunction =function= has 1 PARAMETER param1
       //this param1 PARAMETER is used as a -local- VARIABLE
       //throughout the FUNCTION-BODY

      return param1;

      //End of FUNCTION-BODY
      };

you have defined a myFunction function
which takes 1 parameter param1
this param1 parameter is used
as a variable throughout the FUNCTION-BODY.

If you want to call/execute this myFunction function
and this myFunction function was defined
as having 1 parameter param1
you will have to provide 1 argument
in our case a "number VALUE" 4
myFunction( 4 );

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

============================================

As you are using the return-statement in your myFunction function
you will only get a return-value no-display.
You can however capture this return-value in a variable
and then use the console.log()-method to do a display.

var theResult = myFunction( 4 );
console.log( theResult );

OR directly

console.log( myFunction( 4 ) );

#13

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.