# Parameters of passed functions in JavaScript

Suppose we have the function `test` that takes another function as a parameter and print the result of this passed function to the console:

`function test(func) { console.log( func() ); }`

Let the passed function `func` take a number as a parameter and do something with it. Let's give it, for example, the number `3`:

`function test(func) { console.log( func(3) ); }`

Let's now call the `test` function, passing an anonymous function as a parameter to it. This anonymous function will take a number as a parameter and return the square of that number.

As a result of all this, our construction will display the square of the number `3`, that is, `9`:

`// Shows 9: test( function(num) { return num * num; } ); function test(func) { console.log(func(3)); }`

Let's make the code more elegant:

`// Shows 9: test(function(num) { return num * num; }); function test(func) { console.log(func(3)); }`

Copy my function `test` code. Invoke this function, passing to it an anonymous function as a parameter, which will take a number as a parameter and return its cube.

Modify your code so that the passed function is not anonymous, but is defined as a Function Declaration with the name `func`.

Change the passed function to a Function Expression with the same name `func`.

Let the passed function now take two parameters and return their sum. When calling the passed function inside `test`, pass the number `2` and the number `3` to the passed function. Print the result with alert.

←→
↑
en ru