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