Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

อะไรคือความแตกต่างระหว่างการโทรและการสมัครใน JavaScript?


ใน JavaScript .call และ .apply ถือเป็นเมธอดของออบเจกต์ฟังก์ชัน

เมธอด .call

นับจำนวนอาร์กิวเมนต์ด้วยวิธีการโทร ยอมรับอย่างน้อยหนึ่งอาร์กิวเมนต์เป็นวัตถุ

นี่คือรูปแบบ:

.call(object, “argument1”, “argument2”);

วิธีสมัคร

หากต้องการใช้อาร์เรย์เป็นอาร์กิวเมนต์ ให้ใช้ .apply มันต้องการอาร์เรย์เป็นอาร์กิวเมนต์ที่ 2

นี่คือรูปแบบ:

.apply(object, [“argument1”, “argument[]”]);

ตัวอย่าง

มาดูตัวอย่างการแสดงทั้งวิธีการโทรและสมัคร:

<!DOCTYPE html>
<html>
   <head>
      <body>
         <script>
            var p = {
               q: "Hello"
            }
            function showResult(v) {
               document.write(this.q + " " + v);
            }
            showResult.call(p, "Amit"); // one or more objects as argument
            showResult.apply(p, ["World"]); // array as the second argument
         </script>
      </body>
   </head>
</html>