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

แกงกะหรี่ใน JavaScript คืออะไร?


แกงกะหรี่

แกง เป็นเทคนิคการประเมินฟังก์ชันที่มีอาร์กิวเมนต์หลายตัวเป็นลำดับของฟังก์ชันที่มีอาร์กิวเมนต์เดียว กล่าวคือ เมื่อฟังก์ชันแทนที่จะรับอาร์กิวเมนต์ทั้งหมดในคราวเดียว ให้รับฟังก์ชันแรกและคืนค่าฟังก์ชันใหม่ที่ใช้ฟังก์ชันที่สองและ ส่งกลับฟังก์ชันใหม่ซึ่งรับฟังก์ชันที่สาม และอื่นๆ จนกว่าอาร์กิวเมนต์ทั้งหมดจะบรรลุผล

การใช้งานฟังก์ชั่นการแกง

ก) ช่วยหลีกเลี่ยงการส่งผ่านตัวแปรเดิมซ้ำแล้วซ้ำอีก

b) มีประโยชน์อย่างมากในการจัดการเหตุการณ์

ไวยากรณ์:

     function Myfunction(a) {
        return (b) => {
           return (c) => {
             return a * b * c
             }
            }
         }

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เนื่องจากไม่มี currying ใช้พารามิเตอร์ทั้งหมดถูกส่งพร้อมกัน (volume(11,2,3)) ไปยังฟังก์ชันที่มีอยู่เพื่อคำนวณปริมาตร

<html>
<body>
<script>
   function volume(length, width, height) {
      return length * width * height;
   }
   document.write((volume(11,2,3)));
</script>
</body>
</html>

ผลลัพธ์

66

ตัวอย่าง

ในตัวอย่างต่อไปนี้ ตั้งแต่ แกง ใช้พารามิเตอร์ถูกส่งทีละตัว (volume(11)(2)(3)) จนกระทั่งฟังก์ชันสุดท้ายเรียกว่าพารามิเตอร์สุดท้าย

<html>
<body>
<script>
   function volume(length) {
      return function(width) {
         return function(height) {
            return height * width * length;
         }
      }
   }
document.write(volume(11)(2)(3))
</script>
</body>
</html>

ผลลัพธ์

66