Using functions and returns 7/13


#1

Hello,
i think i can't understand well the functions and the returns.
I'm already trying to figure it out, my code looks like this -

// Parameter is a number, and we do math with that parameter
var timesTwo = function(number) {
return number * 2;
};

// Call timesTwo here!
timesTwo(8) {
console.log(newNumber);
}
newNumber(16)

Can someone help me understand the base point of these terms?
as edited: sorry for repeating the post below this one.


#2

+++ function talk

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".**


#3

++++ 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 ) );

#4

Thank you for your reply.


#5

You have created a variable timesTwo
to which you assign a so-called anonymous Function
which takes 1 parameter number.

This number parameter is used as a variable number
throughout your FUNCTION-BODY.

Now if you want to call this timesTwo function
and the function was defined as having 1 parameter,
you will have to provide 1 argument in this case the number Value 8
timesTwo(8);

As the function is using the return-Statement
the function will return a number Value with NO-Display.

You can capture this returned number Value
into a variable like
var newNumber = timesTwo(8);
and then Display this result with
console.log( newNumber );

OR
directly
console.log( timesTwo(8) );


Function syntax
#6

Oh, you are right.
Now i get it!

Thank you again,
Cheers.


#7

Good morning, sir. My son has the precise code shown above, i.e.:

// Parameter is a number, and we do math with that parameter
var timesTwo = function(number) {
return number * 2;
};

// Call timesTwo here!
var newNumber = timesTwo(8);
console.log( newNumber );

However, he receives an error:
TypeError: 25 is not a function (evaluating 'console.log( newNumber )')

And the prompting:
Oops, try again. Your code doesn't look quite right. Did you set var newNumber = timesTwo(n), where n is whatever number you want?

This exercise seems quite straightforward. Where are we going wrong? Thanks!


#8

Have you tried....

++++ reset of session *****************
under certain circumstances you can shoot your Browser in an
inconsistent state.

Therefor it is of an advantage to know that you have 2 reset facilities:

One is the use of the F5-key which does a refresh Browser

and

Two, select&copy your code
Then use the Reset Code button of the course-window,
then paste your code back in.

Addendum from Tony de araujo
General Notes:
Always refresh the browser after making corrections:
CTRL f5 ( if on Windows or Linux)
CMD r ( if on a MAC).


#9

It worked! Thanks so much. Such a simple tip, but I wouldn't have thought of it. Back in my days of programming, we were all command line (Fortran 77, etc.)! You are great!


#10

for the javascript tracks...

general search

Did you try...
http://www.codecademy.com/guidance/choose

Reference

google search
== the Book ==
javascript [your question] site:developer.mozilla.org

== discussions / opinions ==
javascript [your question] site:stackoverflow.com

== guidance ==
www.crockford.com
http://javascript.crockford.com/code.html
http://javascript.crockford.com/survey.html


https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
www.developer.mozilla.org/en-US/docs/Web/JavaScript/Guide

Code-Year
https://www.codecademy.com/en/tracks/code-year?jump_to=4fce4211279bae0003006265

teach yourself javascript site:codecademy.com
https://www.codecademy.com/en/tracks/teachyourself

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

for the HTML jQuery tracks

google search
== the Book ==
jquery [your question] site:developer.mozilla.org
CSS [your question] site:developer.mozilla.org
javascript [your question] site:developer.mozilla.org
[your question] site:jquery.com
[your question] site:getbootstrap.com

== discussions / opinions ==
jquery [your question] site:stackoverflow.com
CSS [your question] site:stackoverflow.com
javascript [your question] site:stackoverflow.com

== guidance ==
www.crockford.com
[your question] site:crockford.com
- - http://javascript.crockford.com/code.html
- - http://javascript.crockford.com/survey.html


http://www.w3schools.com/jquery/jquery_ref_selectors.asp

https://learn.jquery.com/events/event-delegation/
event- bubbling or Capturing
event bubble-up or trickle-down


https://www.codecademy.com/articles/http-errors-404
https://www.codecademy.com/articles

https://developer.mozilla.org/en-US/Learn/HTML/HTML_tags
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference
https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes
http://www.w3schools.com/jquery/jquery_ref_selectors.asp


#11

This often occurs when console.log = (...) is used as it overwrites console.log with the value you just wanted to print. In this case just refresh the page, this should reset it to it's old value. If the rest of the code is ok this should fix it.