JavaScript ไม่ใช่ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ แต่เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์ JavaScript เป็นภาษาสคริปต์ที่ไม่จำเป็นต้องรวบรวมซอร์สโค้ดก่อนที่จะส่งไปยังไคลเอนต์เพื่อใช้งานและไม่ต้องการการสนับสนุนฝั่งเซิร์ฟเวอร์ มันเป็นภาษาสคริปต์ที่ตีความ มันสามารถใช้ nodejs เพื่อให้บรรลุผลของ JavaScript ที่ทำงานบนฝั่งเซิร์ฟเวอร์
สภาพแวดล้อมการทำงานของบทช่วยสอนนี้: ระบบ Windows 10, JavaScript เวอร์ชัน 1.8.5, คอมพิวเตอร์ Dell G3
JavaScript ไม่ใช่ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ JavaScript เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์ ไม่จำเป็นต้องรองรับเซิร์ฟเวอร์
JavaScript เป็นภาษาสคริปต์ที่ไม่จำเป็นต้องรวบรวมซอร์สโค้ดก่อนที่จะส่งไปยังไคลเอนต์เพื่อดำเนินการ แต่รหัสอักขระในรูปแบบข้อความจะถูกส่งไปยังเบราว์เซอร์เพื่อตีความและดำเนินการโดยเบราว์เซอร์
ภาษาสคริปต์ JavaScript มีลักษณะดังต่อไปนี้:
(1) ภาษาสคริปต์
JavaScript เป็นภาษาสคริปต์ที่ตีความ ภาษาเช่น C และ C++ จะถูกคอมไพล์ก่อนแล้วจึงดำเนินการ ในขณะที่ JavaScript จะถูกตีความทีละบรรทัดระหว่างการทำงานของโปรแกรม
(2) ขึ้นอยู่กับวัตถุ
JavaScript เป็นภาษาสคริปต์ตามวัตถุที่ไม่เพียงแต่สามารถสร้างวัตถุ แต่ยังใช้วัตถุที่มีอยู่ด้วย
(3) เรียบง่าย
ภาษา JavaScript ใช้ประเภทตัวแปรที่พิมพ์ไม่ชัดเจนและไม่ได้กำหนดข้อกำหนดที่เข้มงวดกับประเภทข้อมูลที่ใช้ มันเป็นภาษาสคริปต์ที่ยึดตามคำสั่งและการควบคุมพื้นฐานของ Java และการออกแบบนั้นเรียบง่ายและกะทัดรัด
(4) ไดนามิก
JavaScript เป็นภาษาสคริปต์ที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งสามารถตอบสนองต่อการป้อนข้อมูลของผู้ใช้โดยไม่ต้องผ่านเว็บเซิร์ฟเวอร์ เมื่อเยี่ยมชมหน้าเว็บ JavaScript สามารถตอบสนองเหตุการณ์เหล่านี้ได้โดยตรงเมื่อคลิกเมาส์ เลื่อนขึ้นหรือลง หรือย้ายไปในหน้าต่าง
(5) ข้ามแพลตฟอร์ม
ภาษาสคริปต์ JavaScript ไม่ได้ขึ้นอยู่กับระบบปฏิบัติการและต้องการเพียงการสนับสนุนเบราว์เซอร์เท่านั้น ดังนั้น หลังจากเขียนสคริปต์ JavaScript แล้ว ก็สามารถนำไปยังเครื่องใดก็ได้เพื่อใช้งาน โดยที่เบราว์เซอร์บนเครื่องรองรับภาษาสคริปต์ JavaScript ในปัจจุบัน เบราว์เซอร์ส่วนใหญ่รองรับ [3]
ต่างจากภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ เช่น PHP และ ASP ตรงที่ JavaScript ส่วนใหญ่จะใช้เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์เพื่อทำงานบนเบราว์เซอร์ของผู้ใช้ และไม่ต้องการการสนับสนุนจากเซิร์ฟเวอร์ ดังนั้นในช่วงแรกๆ โปรแกรมเมอร์จึงนิยมใช้ JavaScript เพื่อลดภาระบนเซิร์ฟเวอร์ แต่ในขณะเดียวกันก็นำมาซึ่งปัญหาอีกประการหนึ่ง นั่นก็คือ ความปลอดภัย
เนื่องจากเซิร์ฟเวอร์มีประสิทธิภาพมากขึ้น แม้ว่าโปรแกรมเมอร์จะชอบสคริปต์ที่ทำงานบนเซิร์ฟเวอร์เพื่อความปลอดภัย แต่ JavaScript ยังคงได้รับความนิยมเนื่องจากมีข้อดีแบบข้ามแพลตฟอร์มและใช้งานง่าย ในเวลาเดียวกัน ฟังก์ชันพิเศษบางอย่าง (เช่น AJAX) จะต้องอาศัย Javascript เพื่อรองรับในฝั่งไคลเอ็นต์ ด้วยการพัฒนากลไก เช่น V8 และเฟรมเวิร์ก เช่น Node.js และฟีเจอร์ต่างๆ เช่น IO ที่ขับเคลื่อนด้วยเหตุการณ์และอะซิงโครนัส JavaScript จึงค่อยๆ ถูกนำมาใช้ในการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์
ขยายความรู้ของคุณ:
ตัวอย่างการเขียนโปรแกรมภาษาสคริปต์ JavaScript
JavaScript เป็นภาษาสคริปต์ที่ไม่จำเป็นต้องรวบรวมซอร์สโค้ดก่อนที่จะส่งไปยังไคลเอนต์เพื่อดำเนินการ แต่รหัสอักขระในรูปแบบข้อความจะถูกส่งไปยังเบราว์เซอร์เพื่อตีความและดำเนินการโดยเบราว์เซอร์ จุดอ่อนของภาษาแปลตามตัวอักษรคือมีความปลอดภัยน้อยกว่า และใน JavaScript หากไม่สามารถทำงานได้ ภาษาต่อไปนี้ก็ไม่สามารถทำงานได้เช่นกัน วิธีแก้ไขคือใช้ try{}catch(){}:
console.log("a");//นี่คือ console.log("b");//นี่คือ console.logg("c");//นี่คือสิ่งที่ผิด และจะหยุดที่นี่ console.log("d");//ถูกต้อง console.log("e");//ถูกต้อง/*Solution*/try{console.log("a");} catch(e){ }//นี่ถูกต้อง `try{console.log("b");}catch(e){}//นี่ถูกต้อง try{console.logg("c");}catch (e){}// สิ่งนี้ผิด แต่จะไม่หยุดอยู่แค่นี้ แต่ข้าม try{console.log("d");}catch(e){}//นี่ถูกต้อง try{ console.log("e");}catch( จ){}//นี่ถูกต้องJavascript ถูกจัดประเภทเป็นภาษาแปลตามตัวอักษร เนื่องจากเอ็นจิ้นกระแสหลักโหลดโค้ดและตีความทุกครั้งที่มีการรัน V8 ตีความโค้ดทั้งหมดก่อนที่จะเริ่มรัน ในขณะที่เอ็นจิ้นอื่นๆ ตีความมันทีละบรรทัด (SpiderMonkey จะเก็บคำสั่งที่ตีความไว้ชั่วคราวเพื่อปรับปรุงประสิทธิภาพ ซึ่งเรียกว่าการคอมไพล์แบบเรียลไทม์) อย่างไรก็ตาม เนื่องจากส่วนหลักของ V8 เป็นส่วนใหญ่ เขียนด้วย Javascript (และ SpiderMonkey เขียนด้วยภาษา C++) ดังนั้นในการทดสอบที่แตกต่างกัน ประสิทธิภาพของทั้งสองจึงมีข้อดีและข้อเสีย สอดคล้องกับภาษาที่คอมไพล์ เช่น ภาษา C ก่อนที่จะรันโปรแกรมที่เขียนด้วยภาษาที่คอมไพล์ได้นั้นจะต้องคอมไพล์เพื่อคอมไพล์โค้ดเป็นโค้ดเครื่องก่อนจึงจะรันได้