บทความนี้ไม่ได้เป็นบทความอ้างอิงคู่มือมันเหมาะสำหรับการสร้างความเข้าใจทั่วไปของ JS หากคุณต้องการไวยากรณ์โดยละเอียดและแอปพลิเคชันของ JS โปรดย้ายไปที่ W3School
JavaScript คืออะไร?
การกำเนิดของ JavaScript
ประมาณปี 1995 แบนด์วิดท์หลักในโลกคือ 28.8kbps และแบนด์วิดท์ดาวน์โหลดโดยเฉลี่ยในโลกตอนนี้ 21.9Mbps (ข้อมูลมาจาก http://www.netindex.com) ในเวลานั้นชาวเน็ตต้องรอเป็นเวลานานเพื่อรับการตอบกลับจากเซิร์ฟเวอร์ทุกครั้งที่ส่งแบบฟอร์ม มีโอกาสมากที่สิ่งที่พวกเขาได้รับหลังจากรอสักครู่คือพวกเขาหายไป เพื่อปรับปรุงประสบการณ์ผู้ใช้สคริปต์ที่ฝังอยู่ในไคลเอนต์เบราว์เซอร์ที่สามารถบรรลุการตัดสินแบบง่าย ๆ เกิดขึ้นซึ่งเป็น JavaScript
JavaScript ได้รับการพัฒนาเป็นครั้งแรกโดย Brendan Eich ซึ่งทำงานที่ Netscape (NN2.0) สำหรับ NetScapenavigator 2.0 (NN2.0) ซึ่งจะเปิดตัวในปี 1995 และถูกเรียกว่า Livescript เนื่องจากเขาทำงานร่วมกับ บริษัท ซันที่ได้รับความนิยมอย่างมากในเวลานั้นเพื่อให้ทันกับแนวโน้มของเวลา - ภาษา Java ภาษานี้ชื่อ JavaScript
ความสัมพันธ์ระหว่าง JavaScript และ Java คืออะไร?
นี่เป็นปฏิกิริยาแรกของฆราวาสเมื่อพวกเขาได้ยินจาวาสคริปต์และมันก็เป็นหนึ่งในปัญหาที่ถูกวิพากษ์วิจารณ์มากที่สุดในภาษานี้
พูดอย่างเคร่งครัดไม่มีความสัมพันธ์ระหว่างครึ่งเซ็นต์ หากคุณต้องมีส่วนร่วมบางทีฟังก์ชั่นบางอย่างของทั้งสองนั้นเป็นความคิดที่มุ่งเน้นวัตถุโครงสร้างการตัดสินคำสั่งวนรอบ ฯลฯ แต่สิ่งเหล่านี้ไม่ใช่สิทธิบัตรของ Java แต่เป็นฉันทามติของภาษาการเขียนโปรแกรม
มาตรฐาน JavaScript และประวัติการพัฒนา
เมื่อเปิดตัว JavaScript เบราว์เซอร์ NN ที่มีประสบการณ์การใช้งานที่ดีกว่าครองตลาดเบราว์เซอร์และ Microsoft ได้รับการติดตาม เมื่อเปิดตัว IE3 Microsoft เปิดตัว VBScript และตั้งชื่อมันว่า JScript ซึ่งจริง ๆ แล้วไม่แตกต่างจาก JavaScript ของ Netscape มากนัก (ในแง่ของวันนี้มันเป็นเลียนแบบ) ต้องเผชิญกับการแข่งขันของ Microsoft NetScape และ Sun ส่งร่าง JavaScript ของตัวเองไปยัง ECMA (สมาคมผู้ผลิตคอมพิวเตอร์ยุโรป) เพื่อสร้างมาตรฐาน JavaScript และในที่สุดก็กลายเป็น ECMASCRIPT เวอร์ชันแรก (ECMA-262)
ที่น่าสนใจหลังจาก JavaScript มาตรฐาน Netscape มีปัญหาภายใน การวิจัย JavaScript ซบเซาในขณะที่ Microsoft ใช้โอกาสในการติดตามและเปิดตัว IE4 ซึ่งสร้างขึ้นในเครื่องยนต์ JavaScript ตัวแรกที่เป็นไปตามข้อกำหนด ECMA หนึ่งปีก่อนหน้า NN นอกจากนี้ระบบ Microsoft ค่อยๆครอบครองตลาดระบบปฏิบัติการคอมพิวเตอร์และส่วนแบ่งการตลาดของเบราว์เซอร์ IE ที่ติดตั้งไว้ล่วงหน้าจะค่อยๆเพิ่มขึ้นเรื่อย ๆ และ NN ถูกบีบเข้าสู่ตลาดอย่างต่อเนื่อง อย่างไรก็ตามเมื่อ Microsoft สูญเสียคู่แข่งที่ใหญ่ที่สุดก็ไม่มีแรงจูงใจในการพัฒนา IE6 ~ IE8 การแสดงผลทั้งอินเตอร์เฟสและการดำเนินการสคริปต์นั้นไม่เข้ากันซึ่งกันและกันกลายเป็นคนแปลก ๆ ในประวัติศาสตร์ของเบราว์เซอร์และฝันร้ายสำหรับนักพัฒนาส่วนหน้า
การคัดลอกรหัสมีดังนี้:
1.v1 ฉบับพิมพ์ครั้งแรกในเดือนมิถุนายน 1997
2.v2 มิถุนายน 2541 รูปแบบการแก้ไขเพื่อให้แบบฟอร์มสอดคล้องกับมาตรฐาน ISO/IEC16262 International Standard
3.V3 ธันวาคม 2542 นิพจน์ปกติที่ทรงพลังการประมวลผลห่วงโซ่ข้อความที่ดีขึ้นคำแนะนำการควบคุมใหม่การจัดการข้อยกเว้นคำจำกัดความข้อผิดพลาดที่ชัดเจนขึ้นการจัดรูปแบบของเอาต์พุตตัวเลขและการเปลี่ยนแปลงอื่น ๆ
4.V4 ยังไม่เสร็จ ... อาจจะมีคำจำกัดความคลาสที่ชัดเจนมากขึ้นเนมสเปซ ฯลฯ ...
5.V5 ในเดือนธันวาคม 2552 มีการเพิ่ม "โหมดที่เข้มงวด" ชุดย่อยที่ใช้ในการตรวจสอบข้อผิดพลาดอย่างละเอียดมากขึ้นเพื่อหลีกเลี่ยงข้อผิดพลาดเชิงโครงสร้าง ชี้แจงข้อกำหนดที่คลุมเครือมากมายของเวอร์ชัน 3 และรองรับพฤติกรรมของการใช้งานในโลกแห่งความเป็นจริงที่แตกต่างกันอย่างต่อเนื่องจากข้อกำหนดนั้น มีการเพิ่มคุณสมบัติใหม่บางอย่างเช่น getters และ setters ซึ่งรองรับ JSON และการสะท้อนกลับที่สมบูรณ์ยิ่งขึ้นเกี่ยวกับคุณสมบัติของวัตถุ
**** ในเดือนมิถุนายน 2547 สมาคมผู้ผลิตคอมพิวเตอร์ของยุโรปออกมาตรฐาน ECMA-357 ซึ่งเป็นส่วนขยายของ ECMAScript หรือที่เรียกว่า E4X (ECMASCRIPT สำหรับ XML)
ความสัมพันธ์ระหว่าง JavaScript และ Ecmascript คืออะไร?
ในความเป็นจริงคำถามควรเป็นความสัมพันธ์ระหว่าง JavaScript, JScript และ Ecmascript คืออะไร ในความเป็นจริง eCmascript เป็นข้อกำหนดโดยรวม JavaScript และ JScript ได้รับการพัฒนาตามข้อกำหนดนี้และเข้ากันได้กับ ECMASCript แต่มีฟังก์ชั่นที่เกิน ECMASCRIPT อย่างไรก็ตามไม่ว่าจะเป็นประเภทใดในตอนนี้มันมักจะเรียกว่า JavaScript เพราะมันปรากฏตัวครั้งแรกและมีอิทธิพลมากที่สุดและชื่อของมันถูกส่งผ่านมาจนถึงทุกวันนี้
JavaScript ทำอะไรได้บ้าง?
บนหน้าเว็บการดำเนินการทั้งหมดที่ต้องใช้การประมวลผลแบบลอจิคัลสามารถทำได้โดย JavaScript ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
•การตรวจสอบแบบฟอร์ม
•เอฟเฟกต์ภาพเคลื่อนไหว
•เว็บเกม
•นับถอยหลัง
-
มีแอปพลิเคชันอื่น ๆ อีกมากมายซึ่งฉันจะไม่อธิบายรายละเอียดที่นี่ ฉันเชื่อว่าหลังจากเรียนรู้ภาษานี้คุณจะพบแอปพลิเคชันมากมาย
ทำไมต้องเรียนรู้ JavaScript?
1. เนื่องจากคุณไม่มีทางเลือก JavaScript เท่านั้นที่สามารถควบคุมเบราว์เซอร์ที่ใช้กันทั่วไปทั้งหมดและ JavaScript เป็นหนึ่งในภาษาการเขียนโปรแกรมที่สำคัญที่สุดในโลกและการเรียนรู้เทคโนโลยีเว็บจะต้องเรียนรู้ JavaScript
2. JavaScript เป็นภาษาที่สวยงามมันดีมากดังนั้นเราต้องเรียนรู้
การวางตำแหน่ง JavaScript
การคัดลอกรหัสมีดังนี้:
1. JavaScript เป็นภาษาสคริปต์ที่มีน้ำหนักเบาซึ่งไม่ต้องการการรวบรวมและแยกวิเคราะห์และดำเนินการโดยเครื่องยนต์การแยกวิเคราะห์ JavaScript (โดยทั่วไปหมายถึงเบราว์เซอร์และแน่นอนว่าตัวแยกวิเคราะห์เช่นโหนดไม่ได้ถูกแยกออก)
2. JavaScript มีคุณสมบัติภาษาที่ไม่ใช้งานคุณสมบัติภาษาที่ใช้งานได้และคุณสมบัติภาษาแบบไดนามิกและไวยากรณ์นั้นมีความยืดหยุ่นมาก
3. JavaScript เป็นภาษาการเขียนโปรแกรมเชิงวัตถุ มีคำพูดในโลกจาวาสคริปต์: ทุกอย่างเป็นวัตถุ มรดกของมันขึ้นอยู่กับการสืบทอดต้นแบบ (ฉันได้เขียนบทความพิเศษที่อธิบายการสืบทอดต้นแบบมาก่อน)
4. JavaScript เป็นภาษา C ดังนั้นจึงเป็นเรื่องง่ายสำหรับทุกคนที่เรียนรู้ C เพื่อเริ่มต้นกับ JavaScript
5. JavaScript ถูกเขียนโดยไม่มีคอมไพเลอร์ แต่มีเพียงตัวแก้ไขข้อความเท่านั้น
JavaScript คืออะไร?
JavaScript ที่เราใช้ตอนนี้มีสามส่วน: DOM, BOM และ ECMASCript (หรือ Core JS)
ดอม
ที่นี่โดยค่าเริ่มต้นทุกคนมีความเข้าใจอย่างน้อย HTML และ CSS หากคุณข้าม HTML และ CSS โดยตรงเพื่ออ่านบทความนี้โปรดอ่านที่นี่ก่อน
DOM โมเดลวัตถุเอกสาร
เรารู้ว่า XHTML ต้องการให้แท็กต้องปิดและการทำรังจะต้องถูกต้อง การทำรังของแท็กสร้างความสัมพันธ์แบบพ่อ-ลูก (หรือความสัมพันธ์ระหว่างบรรพบุรุษ---แกว่ง) DOM ให้ API จำนวนมากทำให้เราสามารถจัดการต้นไม้ DOM ได้อย่างง่ายดาย ฉันจะเขียนบทความในภายหลังเกี่ยวกับการพูดคุยเกี่ยวกับ JS DOM โดยเฉพาะ
การใช้ DOM เราสามารถปรับเปลี่ยนเนื้อหาหน้าแบบไดนามิกปรับสไตล์ ฯลฯ ซึ่งเป็นภาพสะท้อนของความหลากหลายของ JS
ระเบิด
Bom, โมเดลวัตถุเบราว์เซอร์
คล้ายกับ DOM ยกเว้นว่าร่างกายหลักกลายเป็นเบราว์เซอร์ เบราว์เซอร์ยังมี API จำนวนมากซึ่งบางส่วนเปิดให้กับ JS ทำให้เรามีวิธีการใช้งานหน้าต่างเบราว์เซอร์
การใช้งานทั่วไป:
การคัดลอกรหัสมีดังนี้:
1. ความสามารถในการปรากฏขึ้นหน้าต่างเบราว์เซอร์ใหม่
2. ความสามารถในการเคลื่อนย้ายปิดและเปลี่ยนขนาดของหน้าต่างเบราว์เซอร์
3. วัตถุนำทางที่สามารถให้ข้อมูลโดยละเอียดของเว็บเบราว์เซอร์
4. วัตถุท้องถิ่นที่สามารถให้ข้อมูลโดยละเอียดเกี่ยวกับหน้าโหลดเบราว์เซอร์
5. วัตถุหน้าจอที่สามารถให้ข้อมูลโดยละเอียดเกี่ยวกับความละเอียดหน้าจอผู้ใช้
6. สนับสนุนคุกกี้;
7. Internet Explorer ขยาย BOM เพื่อรวมคลาส ActiveX วัตถุและวัตถุ ActiveX สามารถนำไปใช้ได้ผ่าน JavaScript
Ecmascript Core
เรียกอีกอย่างว่า JS Core ไม่ว่าคุณจะเรียกมันว่ามันหมายถึงความหมายเดียวกันมันแสดงถึงองค์ประกอบหลักของภาษา JS รวมถึงคำจำกัดความของตัวแปรการรวบรวมขยะ, ไวยากรณ์, ขอบเขต, ฯลฯ ซึ่งแตกต่างจาก DOM และ BOM ที่กล่าวถึงข้างต้นพวกเขาต้องการให้เราใช้ API เหล่านี้ บทต่อไปจะพูดคุยเกี่ยวกับไวยากรณ์ของ JS
การใช้ JavaScript
รูปแบบในบรรทัด
แบบฟอร์มแบบอินไลน์คือ JavaScript ที่เขียนด้วยแท็ก ตัวอย่างเช่นเราเขียนใน HTML:
การคัดลอกรหัสมีดังนี้:
<ปุ่ม onclick = "การแจ้งเตือน ('ถูกคลิก');"> คลิก </button>
เมื่อเราคลิกปุ่มกล่องจะแสดง "ถูกคลิก"
แต่โปรดทราบว่าสิ่งนี้ไม่แนะนำอย่างยิ่งเพราะสิ่งนี้จะทำให้เกิดปัญหาใหญ่ในการบำรุงรักษา ทุกครั้งที่เราจำเป็นต้องเปลี่ยนเหตุการณ์เราจำเป็นต้องค้นหาองค์ประกอบก่อนจากนั้นแก้ไขเนื้อหา JavaScript และรหัส JavaScript เหล่านี้ไม่สามารถนำกลับมาใช้ใหม่ได้
นอกจากนี้เหตุการณ์ที่เขียนในแท็กจะต้องเป็น 'บน' และ JS สามารถนำมาใช้ได้ผ่านเหตุการณ์ในแท็กและการแสดงออกของ JS อย่างง่ายไม่สามารถเขียนได้
ที่ฝังอยู่
Embedded หมายถึงการเขียนรหัส JS ในแท็กสคริปต์ HTML วิธีการคือการเพิ่มแท็กสคริปต์ลงใน HTML จากนั้นแทรกรหัส JS ใด ๆ ที่อยู่ตรงกลางของแท็กดังต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
<html>
<body>
<button id = "btn"> คลิก </button>
</body>
<script>
<span style = "font-family: arial, helvetica, sans-serif;"> var btn = document.getElementById ("btn"); </span> <name pre = "code"> btn.onclick = function () {
การแจ้งเตือน ("ถูกคลิก");
-
</script> </html>
หากคุณใช้สไตล์ฝังตัวมันเป็นอิสระมากกว่าสไตล์อินไลน์ คุณสามารถเขียนโค้ดเพิ่มเติมหลีกเลี่ยงการใช้คำพูดในการหลบหนีและรักษาให้ง่ายขึ้น แต่ปัญหาก็มีอยู่ รหัสเหล่านี้สามารถนำไปใช้กับหน้านี้เท่านั้นและไม่สามารถใช้งานได้โดยหน้าอื่น ๆ
ภายนอก
วิธีการเชื่อมต่อภายนอกช่วยแก้ข้อบกพร่องทั้งหมดของสองรูปแบบข้างต้น วิธีการต่อไปนี้มีดังนี้:
สร้างไฟล์ใหม่ก่อนและเปลี่ยนคำต่อท้ายเป็น. js ตัวอย่างเช่นเราสร้างไฟล์ click.js ใหม่และคัดลอกรหัส JS ในเวอร์ชันฝังตัวที่เราเพิ่งเขียน (โปรดทราบว่าเราไม่รวมแท็กสคริปต์)
การคัดลอกรหัสมีดังนี้:
var btn = document.getElementById ("btn");
btn.onclick = function () {
การแจ้งเตือน ("ถูกคลิก");
-
จากนั้นนำเข้าใน HTML ผ่านแท็กสคริปต์
การคัดลอกรหัสมีดังนี้:
<html>
<body>
<button id = "btn"> คลิก </button>
</body>
<script src = "click.js"> </script>
</html>
ข้อดีของสิ่งนี้คือรหัส JS เดียวกันสามารถแชร์ได้โดยหลายหน้า HTML ข้อเสียคือจำนวนไฟล์เพิ่มขึ้นและเวลาที่ต้องการสำหรับการร้องขอจะเพิ่มขึ้น ดังนั้นความสามารถในการใช้ซ้ำของรหัสควรได้รับการปรับปรุงและในที่สุดไฟล์ JS ควรรวมเข้าด้วยกัน (รวมไฟล์ JS ที่แตกต่างกันเข้าด้วยกันเป็นไฟล์ JS หนึ่งไฟล์)