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

โหมดเข้มงวดใน JavaScript คืออะไร?


โหมดเข้มงวด

โหมดเข้มงวดถูกนำมาใช้โดย ECMAScript 5 กับจาวาสคริปต์ การใช้โหมดเคร่งครัดของจาวาสคริปต์ที่ไม่มีการโต้ตอบสามารถตรวจพบได้ง่ายเนื่องจากจะทำให้เกิดข้อผิดพลาด ทำให้การดีบักจาวาสคริปต์ทำได้ง่ายมาก และช่วยให้นักพัฒนาหลีกเลี่ยงข้อผิดพลาดที่ไม่จำเป็นได้

เนื่องจากโหมดเข้มงวดจะส่งข้อยกเว้นเมื่อพบตัวแปรที่ไม่ได้ประกาศ หน่วยความจำรั่วจะลดลงอย่างมาก โหมดเข้มงวดสามารถเปิดใช้งานได้โดยใช้ "ใช้แบบเข้มงวด" หน้าโค้ดที่ต้องการโหมดเข้มงวด

ในตัวอย่างต่อไปนี้ มีการใช้ตัวแปรสองตัว ตัวหนึ่งอยู่นอกฟังก์ชัน และอีกตัวอยู่ภายในฟังก์ชัน ตัวแปรที่ใช้ภายนอกฟังก์ชันจะไม่ถูกประกาศ ในขณะที่ตัวแปรที่ประกาศภายในฟังก์ชันจะถูกประกาศโดยใช้คีย์เวิร์ด var การใช้โหมดเข้มงวดภายในฟังก์ชันจะไม่ทำให้เกิดข้อผิดพลาดใดๆ เนื่องจากตัวแปรถูกประกาศพร้อมๆ กัน ค่าในตัวแปรภายนอกฟังก์ชันจะแสดงขึ้นเนื่องจากไม่มีโหมดเข้มงวดที่ใช้

ตัวอย่าง-1

<html>
<body>
<script>
   myString1 = "non-strict mode will allow undeclared variables"
   document.write(myString1);
   document.write("</br>");
   function myFun(){
      "use strict"
      var myString2 = "Strict mode will allow declared variables"
      document.write(myString2);
   }
   myFun();
</script>
</body>
</html>

เอาต์พุต
non-strict mode will allow undeclared variables
Strict mode will allow declared variables

ในตัวอย่างต่อไปนี้ ตัวแปรจะไม่ถูกประกาศภายในฟังก์ชันและใช้โหมดเข้มงวด ดังนั้นค่าภายในตัวแปรนั้นจะไม่ถูกดำเนินการและเกิดข้อผิดพลาด เราพบข้อผิดพลาดในคอนโซลเบราว์เซอร์

ตัวอย่าง-2

<html>
<body>
<script>
   myString1 = "non-strict mode will allow undeclared variables"
   document.write(myString1);
   document.write("</br>");
   function myFun(){
      "use strict"
      myString2 = "Strict mode will allow declared variables"
      document.write(myString2);
   }
   myFun();
</script>
</body>
</html>

เอาต์พุต
non-strict mode will allow undeclared variables