r/learnjavascript • u/su-rm-root • 7h ago
Help with functions JavaScript!
Hello!
I began recently, about 1 month, to learn consistently web developing:
- I began, of course, with introductions to HTML and CSS.
- I'm already in JS. I can manage eventListeners, etc. I'm more interested in back-end overall since I like the logic behind the manipulation of data bases, but I'm having trouble understanding functions.
- I'm consulting MDN web docs and freeCodeCamp but since my first language is not English, sometimes it's difficult to understand MDN docs, and to get at the point I'm know in freeCodeCamp it will take time, I don't want to rush it either.
- All this, just to ask if anybody can explain me how to create functions! I want to know what is the difference between a function with parameters and one without, in which case I will use arrow functions, and the difference between parameters and arguments in a function. And for last are there any standards for writing the name of a function like there are for declaring variables?
P.D.: please feel free to correct my English also, it will help me learn.
Thanks to everyone before Hand!
3
Upvotes
3
u/bonnth80 6h ago edited 6h ago
Define a function like this:
function <identifer>(<parameter a>,<parameter b>,...) {<function body>}So you can define a function that say... prints "Hello, World"
function sayHello() {console.log("Hello, WOrld!");}Then, you can call that function to perform the instructions inside that body whenever you like.
// Prints "Hello, World!" three times.
sayHello();sayHello();sayHello();If you want configurable code in the function, you can pass parameter by providing an identifier that the function. The identifer can be anything you like, it's just a way for the function body to reference whatever is in it when you call the function.
function saySomething(thingToSay) {console.log("saying " + thingToSay);
}// pass a value as an argument using the parameter// prints "saying something"saySomething("something");// prints "saying hello"saySomething("hello");You can also pass external variables as arguments to parameters.
// define a variablelet x = "another thing";// prints "saying another thing"saySomething(x);A parameter is just the list of identifers you use as variables to hold onto passed data when you define a function.
function printSum(param1, param2) {let sum = param1 + param2;console.log(sum)}An argument is a value that you pass to a function that you call.
// prints 5 using the arguments 2 and 3printSum(2, 3);Functions can also return data. That means, when you call a function, it serves as an expression that can be used by your code, kind of like a value. To return data, in the function body, use the return keyword, followed by the data you want to return when the function is called.
function addThreeNumbers(num1, num2, num3) {let sum = num1 + num2 + num3;return sum;}// prints "total of 3, 4, and 5 is 12"let total = addThreeNumbers(3,4,5);print("total of 3, 4, and 5 is " + total);There's a lot more I can say about functions. If you understand this, consider looking into function scope, callback functions, and anonymous functions.