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

อะไรคือความแตกต่างระหว่าง void, eval และตัวสร้างฟังก์ชันใน JavaScript?


คำหลักที่เป็นโมฆะ

โมฆะเป็นคีย์เวิร์ดที่สำคัญใน JavaScript ซึ่งสามารถใช้เป็นโอเปอเรเตอร์ unary ที่ปรากฏก่อนตัวถูกดำเนินการเดี่ยว ซึ่งอาจเป็นแบบใดก็ได้ โอเปอเรเตอร์นี้ระบุนิพจน์ที่จะประเมินโดยไม่คืนค่า

วากยสัมพันธ์ของโมฆะสามารถเป็นอย่างใดอย่างหนึ่งต่อไปนี้ −

<head>
   <script>
      <!--
         void func()
         javascript:void func()
         or:
         void(func())
         javascript:void(func())
      //-->
   </script>
</head>

ฟังก์ชัน eval()

JavaScript eval() ใช้เพื่อดำเนินการอาร์กิวเมนต์ โค้ดจะทำงานช้าลงเมื่อใช้เมธอด eval() นอกจากนี้ยังมีการใช้งานด้านความปลอดภัยเนื่องจากมีขอบเขตการดำเนินการที่แตกต่างกัน

ตัวอย่าง

ต่อไปนี้คือวิธีใช้งานฟังก์ชัน eval() -

<html>
   <body>
      <script>
         var a = 30;
         var b = 12;
         var res1 = eval("a * b") + "<br>";
         var res2 = eval("5 + 10") + "<br>";
         document.write(res1);
         document.write(res2);
      </script>
   </body>
</html>

ผลลัพธ์

360
15

ตัวสร้างฟังก์ชัน

ตัวสร้าง function() ใช้ใน JavaScript เพื่อสร้างออบเจกต์ฟังก์ชันใหม่ ออบเจ็กต์ที่สร้างจะถูกแยกวิเคราะห์เมื่อสร้างฟังก์ชัน

ตัวอย่าง

คุณสามารถลองเรียกใช้โค้ดต่อไปนี้เพื่อเรียนรู้วิธีทำงานกับตัวสร้าง function() -

<html>
   <body>
      <script>
         var num = new Function('p', 'q', 'r', 'return p * q * r');
         document.write("Value after multiplication: "+num(5, 2, 9));
      </script>
   </body>
</html>

ผลลัพธ์

Value after multiplication: 90