Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

พารามิเตอร์ของฟังก์ชันใน JavaScript คืออะไร

ใน JavaScript สามารถส่ง พารามิเตอร์ (parameters) หลายค่าเข้าไปในฟังก์ชันได้ โดยคั่นด้วยคอมม่า ฟังก์ชันจะรับค่าเหล่านี้ผ่านตัวแปรพารามิเตอร์ที่ประกาศไว้

ตัวอย่าง

<html>
  <head>
    <script>
      function sayHello(name, age) {
        document.write(name + " is " + age + " years old.");
      }
    </script>
  </head>
  <body>
    <p>คลิกปุ่มด้านล่างเพื่อเรียกใช้ฟังก์ชัน</p>
    <form>
      <input type="button" onclick="sayHello('John', 27)" value="Details">
    </form>
  </body>
</html>

รายละเอียดเพิ่มเติม

Parameters vs Arguments

  • Parameters: ตัวแปรในหัวฟังก์ชัน (name, age)
  • Arguments: ค่าจริงที่ส่งเข้ามา ('John', 27)

คุณสมบัติพิเศษ

  • Optional Parameters: ไม่บังคับส่งครบ (ค่าจะเป็น undefined)
  • Default Parameters (ES6): function foo(a, b = 10)
  • Rest Parameters (ES6): function foo(...args) รับจำนวนไม่จำกัดเป็นอาร์เรย์
  • Destructuring Parameters: function foo({name, age})

arguments object (Legacy)

function sum() {
  var total = 0;
  for (var i = 0; i < arguments.length; i++) {
    total += arguments[i];
  }
  return total;
}
sum(1, 2, 3); // 6

หมายเหตุ: Arrow functions ไม่มี arguments object ให้ใช้ Rest Parameters แทน

Pass by Value vs Reference

  • Primitive types (string, number, boolean, ...) → Pass by Value
  • Objects/Arrays → Pass by Reference (sharing) การเปลี่ยนแปลง property จะส่งผลต่อต้นฉบับ