ขอบเขตการมองเห็นของฟังก์ชันซ้อนใน JavaScript
หากฟังก์ชันมีฟังก์ชันอื่นอยู่ภายใน - ตัวแปรของฟังก์ชันภายนอกจะมองเห็นได้ในฟังก์ชันภายใน:
function test() {
let num = 1; // ตัวแปรของฟังก์ชันภายนอก
function func() {
console.log(num); // จะแสดง 1
}
func(); // เรียกฟังก์ชันภายใน
}
test(); // เรียกฟังก์ชันภายนอก
นอกจากนี้ในฟังก์ชันภายในยังจะมองเห็นตัวแปร ที่กำหนดไว้นอกฟังก์ชันภายนอกด้วย:
let num = 1; // ตัวแปรระดับโลก
function test() {
function func() {
console.log(num); // จะแสดง 1
}
func(); // เรียกฟังก์ชันภายใน
};
test(); // เรียกฟังก์ชันภายนอก
กำหนดว่า โดยไม่ต้องรันโค้ด อะไรจะถูกแสดงผล ในคอนโซล:
function test() {
let num = 1;
function func() {
console.log(num);
}
func();
}
test();
กำหนดว่า โดยไม่ต้องรันโค้ด อะไรจะถูกแสดงผล ในคอนโซล:
function test() {
let num = 1;
function func() {
console.log(num);
}
}
test();
กำหนดว่า โดยไม่ต้องรันโค้ด อะไรจะถูกแสดงผล ในคอนโซล:
function test() {
let num = 1;
function func() {
console.log(num);
}
func();
}
กำหนดว่า โดยไม่ต้องรันโค้ด อะไรจะถูกแสดงผล ในคอนโซล:
function test() {
let num;
function func() {
console.log(num);
}
num = 1
func();
num = 2
func();
}
test();