Ομώνυμες Παράμετροι στο JavaScript
Ας υποθέσουμε τώρα ότι η εξωτερική και η εσωτερική συνάρτηση έχουν ομώνυμες παραμέτρους:
function test(num) {
function func(num) {
console.log(num); // θα εμφανίσει 1
}
func(num);
};
test(1);
Σε αυτή την περίπτωση, η εσωτερική συνάρτηση θα έχει
μια τοπική μεταβλητή num. Η αλλαγή της
στην εσωτερική συνάρτηση δεν θα επηρεάσει
καθόλου την εξωτερική μεταβλητή num:
function test(num) {
function func(num) {
num = 2; // αλλάζουμε την τοπική μεταβλητή num
}
func(num);
console.log(num); // θα εμφανίσει 1 - τίποτα δεν άλλαξε
}
test(1);
Το αποτέλεσμα είναι ότι η εσωτερική συνάρτηση δεν μπορεί
να προσπελάσει την εξωτερική μεταβλητή num
για να την αλλάξει:
function test(num) {
function func(num) {
// εδώ δεν είναι δυνατή η πρόσβαση στην εξωτερική μεταβλητή num
}
func(num);
}
test(1);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
}
test(1);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function test(num) {
function func(num) {
num = 2;
}
func(num);
console.log(num);
}
test(1);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function test(num) {
function func(num) {
console.log(num);
}
num = 2;
func(num);
}
test(1);
Προσδιορίστε, χωρίς να εκτελέσετε τον κώδικα, τι θα εμφανιστεί στην κονσόλα:
function test(num) {
function func(num) {
console.log(num);
}
func(num);
num = 2;
}
test(1);