การเรียกใช้ฟังก์ชันทันทีใน JavaScript

ตอนนี้เราจะมาดูเทคนิคที่ช่วยให้สามารถ เรียกใช้ฟังก์ชันได้ทันทีที่ประกาศ โครงสร้างเช่นนี้เรียกว่า Immediately Invoked Function Expression (IIFE)

เรามาดูตัวอย่างกัน สมมติว่าเรามี นิพจน์ฟังก์ชันดังต่อไปนี้:

javascriptlet func = function() {
  console.log('!');
};

func(); // แสดงผล '!'

ตอนนี้เราจะไม่นำฟังก์ชันของเรา ไปกำหนดให้กับตัวแปร แต่จะเรียกใช้มันทันที "ที่ตำแหน่งนั้น" ในการทำเช่นนี้ เราใส่ วงเล็บหลังฟังก์ชัน:

javascript+function() {
  console.log('!'); // แสดงผล '!'
}();

การมีเครื่องหมายบวกในกรณีนี้เป็นเงื่อนไขที่จำเป็น เพราะหากไม่มี ฟังก์ชันจะกลายเป็น Function Declaration และเราไม่สามารถเรียกใช้ Function Declaration ทันที (ยิ่งถ้า ไม่มีชื่อ) ได้ แน่นอนว่าแทนที่จะเป็น เครื่องหมายบวก อาจเป็นอะไรก็ได้ - สิ่งสำคัญคือ ฟังก์ชันของเราต้องเป็นนิพจน์ฟังก์ชัน

Задание 1

กำหนดโดยไม่ต้องรันโค้ด ว่าผลลัพธ์ที่ แสดงในคอนโซลจะเป็นอะไร:

javascript!function() {
  console.log('!');
}();
Задание 2

กำหนดโดยไม่ต้องรันโค้ด ว่าผลลัพธ์ที่ แสดงในคอนโซลจะเป็นอะไร:

javascriptfunction() {
  console.log('!');
}();