Parameters of outer and inner functions in JavaScript
Let's make both the outer function and the inner function accept parameters:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
}
Let's pass the parameter of the external function to the call of the internal function:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum); // shows 1
}
func(num); //!! passes the parameter
}
test(1); // passes a number as a parameter
It turns out that the variable num
will be available in the inner function as
an external variable from the parent function
and the variable localNum, which
is a local variable of the inner function.
Both of these variables will have the same value:
javascriptfunction test(num) {
function func(localNum) {
console.log(num); // shows 1
console.log(localNum); // shows 1
}
func(num);
}
test(1);
The difference between them will be as
follows: if you change the variable
num in the inner function, it
will also change in the outer function:
javascriptfunction test(num) {
function func(localNum) {
num = 2; // changes the variable num
}
func(num); // passes the parameter
console.log(num); // shows 2
}
test(1); // passes a number as a parameter
And the variable localNum will be
local. Its changes will not lead to any
changes in the external function. And the
variable localNum itself will not
be visible outside the inner function:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2; // changes the num variable
}
func(num); // passes the parameter
}
test(1); // passes a number as a parameter
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num);
}
test(1);
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
console.log(localNum);
}
func(num + 1);
}
test(1);
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
console.log(num);
}
func(num + 1);
}
test(1);
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(num);
}
test(1);
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
localNum = 2;
}
func(num);
console.log(localNum);
}
test(1);
Determine what will be output to the console without running the code:
javascriptfunction test(num) {
function func(localNum) {
num = 2;
}
func(num);
console.log(num);
}
test(1);