บทเรียนหลัก JavaScript
พื้นฐาน
บทนำ
การรัน JavaScript
โปรแกรม JavaScript แรก
การวิเคราะห์โค้ดโปรแกรม
ตัวอย่างเพิ่มเติม
ไฟล์สคริปต์
หลายไฟล์
หมายเหตุ
การแคชไฟล์
โหมดเข้มงวด
ความคิดเห็น
ตัวแปร
การใช้ตัวแปร
การประกาศตัวแปรหลายตัว
การเปลี่ยนแปลงค่าตัวแปร
let หลายตัวสำหรับตัวแปรเดียว
การดำเนินการทางคณิตศาสตร์กับตัวเลข
การดำเนินการทางคณิตศาสตร์กับตัวแปร
ลำดับความสำคัญของการดำเนินการทางคณิตศาสตร์
ลำดับความสำคัญเท่ากัน
วงเล็บจัดกลุ่ม
เศษส่วน
จำนวนลบ
เครื่องหมายบวกหน้าเครื่องหมายตัวแปร
เศษที่ได้จากการหาร
การยกกำลัง
ลำดับความสำคัญของการยกกำลัง
สตริง
การต่อสตริง
ความยาวของสตริง
สตริงเทมเพลต
หลายบรรทัด
ค่าพิเศษ
ค่า undefined
ค่า null
ค่า true และ false
ค่า NaN
Infinity และ -Infinity
คอนโซล
ประเภทข้อมูลในคอนโซล
ข้อผิดพลาดในคอนโซล
ค่าคงที่
การแปลงประเภทอัตโนมัติ
การแปลงเป็นตัวเลข
การแปลงเป็นตัวเลขแบบสั้น
การแปลงตัวเลขที่ไม่ถูกต้อง
การแยกตัวเลข
การแปลงเป็นสตริง
การนำการแปลงเป็นสตริงไปใช้
การแปลงประเภทตรรกะ
การแปลงเป็นประเภทตรรกะ
อักขระสตริง
ความไม่เปลี่ยนแปลงของสตริง
อักขระสุดท้ายของสตริง
สตริงที่มีตัวเลข
การเข้าถึงตัวเลขของตัวเลข
การดำเนินการเพื่อเปลี่ยนตัวแปร
การดำเนินการแบบย่อใน JavaScript
การเพิ่มค่า
ประเภทนำหน้าและต่อท้าย
การคำนวณที่ไม่แม่นยำ
ฟังก์ชัน prompt
ปัญหากับประเภทใน prompt
การแสดงผลในเอกสาร
แบบฝึกหัดการค้นหาข้อผิดพลาด
แบบฝึกหัดการดำเนินการ
แบบฝึกหัดสูตร
อาร์เรย์
บทนำสู่อาร์เรย์
การเข้าถึงองค์ประกอบ
ความยาวของอาร์เรย์
การเปลี่ยนองค์ประกอบ
การเขียนทับองค์ประกอบของอาร์เรย์
การเพิ่มค่าองค์ประกอบ
การเพิ่มองค์ประกอบด้วยคีย์
อาร์เรย์แบบเบาบาง
การเพิ่มองค์ประกอบด้วย push
คีย์จากตัวแปร
โอเปอเรเตอร์ delete
แบบฝึกหัดค้นหาข้อผิดพลาด
อ็อบเจกต์
ความรู้เบื้องต้นเกี่ยวกับอ็อบเจกต์
การแสดงอ็อบเจกต์ทั้งหมด
คีย์แบบสตริงของอ็อบเจกต์
คุณสมบัติของอ็อบเจกต์
ข้อจำกัดของคีย์อ็อบเจกต์
การเปลี่ยนแปลงองค์ประกอบ
การเพิ่มองค์ประกอบ
ความไม่เรียงลำดับของอ็อบเจกต์
อาร์เรย์ของคีย์อ็อบเจกต์
ความยาวของอ็อบเจกต์
คีย์จากตัวแปร
ข้อผิดพลาดในการเข้าถึงองค์ประกอบ
ข้อผิดพลาดในการเข้าถึงคุณสมบัติ
คุณสมบัติที่คำนวณได้
โอเปอเรเตอร์ in
โอเปอเรเตอร์ delete
การพิมพ์ประเภทของอ็อบเจกต์
อาร์เรย์ในฐานะอ็อบเจกต์
แยกแยะอาร์เรย์จากอ็อบเจกต์
อ็อบเจกต์และพรีมิทีฟ
การส่งผ่านอ็อบเจกต์โดยการอ้างอิง
ค่าคงที่
แนวทางการเขียนโปรแกรมผ่านค่าคงที่
ฝึกหัดค้นหาข้อผิดพลาด
เงื่อนไข
โครงสร้าง if-else
ตัวดำเนินการมากกว่าและน้อยกว่า
การตรวจสอบความเท่ากัน
การตรวจสอบความไม่เท่ากัน
การเปรียบเทียบตัวแปร
ความเท่ากันของสตริง
ความเท่ากันของสตริงและตัวเลข
ความเท่ากันทั้งค่าและประเภท
ความไม่เท่ากันทั้งค่าและประเภท
ตรรกะ AND
ตรรกะ OR
ลำดับความสำคัญของตัวดำเนินการทางตรรกะ
การจัดกลุ่มเงื่อนไข
การกลับค่าของนิพจน์ตรรกะ
เงื่อนไขกับค่าบูลีน
การเปรียบเทียบค่ากับประเภทบูลีน
รูปแบบย่อของการตรวจสอบความเป็นจริง
รูปแบบย่อของการตรวจสอบความเท็จ
รูปแบบย่อทั่วไปของการตรวจสอบ
เงื่อนไขซับซ้อนในรูปแบบย่อ
ความเป็นตัวเลือกของโครงสร้าง else
ความเป็นตัวเลือกของวงเล็บปีกกา
ปัญหาเรื่องความเป็นตัวเลือกของวงเล็บ
โครงสร้าง else if
โครงสร้าง if-else ซ้อนกัน
โครงสร้าง switch-case
ความเป็นตัวเลือกของ break
ตัวดำเนินการเงื่อนไขสามส่วน
การดำเนินการทางตรรกะ
ฟังก์ชัน confirm
ขอบเขตการมองเห็น
รายละเอียดปลีกย่อยของขอบเขตการมองเห็น
การตรวจสอบส่วนของชั่วโมง
การตรวจสอบความยาวของสตริงและอาร์เรย์
การตรวจสอบอักขระของสตริง
การตรวจสอบตัวเลข
การตรวจสอบเศษจากการหาร
ฝึกหัดค้นหาข้อผิดพลาด
ฝึกปฏิบัติ
การวนซ้ำ
บทนำ
การวนซ้ำ for-of
การวนซ้ำ for-in
การวนซ้ำ while
การวนซ้ำ for
การวนซ้ำ for สำหรับอาร์เรย์
เงื่อนไขในการวนซ้ำ
การสะสมผลรวมของตัวเลข
การสะสมผลรวมขององค์ประกอบ
การสร้างสตริง
ตัวเลขของจำนวน
ความเป็นทางเลือกของวงเล็บปีกกา
ปัญหาของความเป็นทางเลือกของวงเล็บ
คำสั่ง break
คำสั่ง continue
การวนซ้ำแบบซ้อน
ขอบเขตการมองเห็น
การวนซ้ำแบบซ้อนและขอบเขตการมองเห็น
การเติมอาร์เรย์
การเปลี่ยนแปลงอาร์เรย์
การเติมวัตถุ
การเปลี่ยนแปลงวัตถุ
การทำงานกับแฟล็ก
คำแนะนำในการเขียนโค้ด
คำแนะนำในการดีบักโค้ด
ฝึกหัดการค้นหาข้อผิดพลาด
ฝึกปฏิบัติ
หลายมิติ
อาร์เรย์หลายมิติ
อาร์เรย์สามมิติ
อาร์เรย์ตามอำเภอใจ
การวนลูปอาร์เรย์หลายมิติ
การวนลูปด้วย for ปกติ
การเติมอาร์เรย์หลายมิติ
ปัญหาที่อาจเกิดขึ้นเมื่อเติมอาร์เรย์หลายมิติ
การเติมอาร์เรย์หลายมิติตามลำดับ
อ็อบเจกต์หลายมิติ
การวนลูปอ็อบเจกต์หลายมิติ
โครงสร้างหลายมิติ
การวนลูปโครงสร้างหลายมิติ
อาร์เรย์ของอ็อบเจกต์
คีย์จากตัวแปร
การเพิ่มองค์ประกอบในอาร์เรย์
การเพิ่มองค์ประกอบในอ็อบเจกต์
เมธอดมาตรฐาน
การยกกำลัง
ฟังก์ชันปัดเศษ
ค่าสูงสุดและต่ำสุด
การสุ่ม
ค่าโมดูลัส
ตัวพิมพ์ใหญ่-เล็ก
การตัดสตริง
การค้นหาในสตริง
การแทนที่ในสตริง
การแยกสตริง
องค์ประกอบส่วนปลาย
ส่วนของอาร์เรย์
การตัดอาร์เรย์
การค้นหาในอาร์เรย์
คีย์ของออบเจ็กต์
ฝึกหัดการค้นหาข้อผิดพลาด
ฟังก์ชันที่ผู้ใช้กำหนดเอง
บทนำ
พารามิเตอร์ของฟังก์ชัน
พารามิเตอร์หลายตัว
พารามิเตอร์ตัวแปร
พารามิเตอร์ที่ไม่จำเป็น
คำสั่ง return
การเรียกฟังก์ชันแบบลำดับ
จุดละเอียดอ่อนของ return
ลูปและ return
การประยุกต์ใช้ return ในลูป
เทคนิคการทำงานกับ return
แฟล็กในฟังก์ชัน
โอเปอเรเตอร์ลอจิกในฟังก์ชัน
คำแนะนำเกี่ยวกับฟังก์ชัน
แบบฝึกหัดการหาข้อผิดพลาด
แบบฝึกหัดเรื่องฟังก์ชัน
ตัวแปรของฟังก์ชัน
ตัวแปรโกลบอล
ตัวแปรโลคัล
การซ้ำชื่อของตัวแปร
การเปลี่ยนแปลงตัวแปรโกลบอล
ตัวแปรโกลบอลและพารามิเตอร์ของฟังก์ชัน
การซ้ำชื่อกับพารามิเตอร์
พารามิเตอร์ที่เป็นอ็อบเจ็กต์
ประเภทของฟังก์ชัน
ซอร์สโค้ดของฟังก์ชันและผลลัพธ์
ฟังก์ชันในฐานะตัวแปร
การเขียนฟังก์ชันลงในตัวแปรอื่น
การกำหนดค่าฟังก์ชันให้กับตัวแปร
การตรงกันของชื่อฟังก์ชันและตัวแปร
ประเภทของการประกาศ
ความแตกต่างของการประกาศฟังก์ชัน
อัฒภาคเมื่อประกาศฟังก์ชัน
รายละเอียดปลีกย่อยของนิพจน์ฟังก์ชัน
ฟังก์ชันที่มีชื่อ แต่เป็นนิพจน์ฟังก์ชัน
นิพจน์ฟังก์ชันที่มีชื่อ
วิธีตรวจสอบประเภทของฟังก์ชัน
นิพจน์ทางซ้าย
นิพจน์ทางขวา
อาร์เรย์ที่มีฟังก์ชัน
อ็อบเจกต์ที่มีฟังก์ชัน
การใช้อ็อบเจกต์ที่มีฟังก์ชัน
ฟังก์ชันแบบซ้อน
การส่งผ่านฟังก์ชันเป็นพารามิเตอร์
ฟังก์ชันที่มีชื่อ
พารามิเตอร์ของฟังก์ชันที่ส่งผ่าน
การส่งตัวเลขเป็นพารามิเตอร์
การนำไปใช้
ฟังก์ชันภายใน
ขอบเขตการมองเห็นของฟังก์ชันแบบซ้อน
พารามิเตอร์ของฟังก์ชันภายนอก
พารามิเตอร์ของฟังก์ชันภายนอกและภายใน
พารามิเตอร์ชื่อเดียวกัน
ฟังก์ชันที่คืนค่าฟังก์ชัน
ระดับการซ้อนใดๆ
พารามิเตอร์ของฟังก์ชันที่คืนค่า
ฟังก์ชันคอลแบ็ก
รายละเอียดปลีกย่อยของคอลแบ็ก
ฟังก์ชันลูกศร
การนำฟังก์ชันลูกศรไปใช้
ตรงกับบทแปล
การปิด
การเข้าถึงตัวแปรภายนอก
สภาพแวดล้อมเชิงคำศัพท์ของฟังก์ชัน
การประยุกต์ใช้สภาพแวดล้อมเชิงคำศัพท์
บทนำสู่การปิด
ตัวนับด้วยการปิด
รายละเอียดปลีกย่อย: ตัวแปรโลคัล
รายละเอียดปลีกย่อย: ตัวแปรโกลบอล
IIFE
การเรียกใช้ฟังก์ชันทันที
การกำหนดค่าฟังก์ชันให้ตัวแปร
การประยุกต์ใช้การเรียกฟังก์ชันทันที
วงเล็บ
พารามิเตอร์
การเรียกหลายครั้ง
ข้อควรระวัง
เครื่องหมายอัฒภาคเพื่อความปลอดภัย
Closures และ IIFE
การเรียกซ้ำ
บทนำ
ตัวอย่างที่มีพารามิเตอร์
ผลรวมขององค์ประกอบอาร์เรย์ด้วยการเรียกซ้ำ
โครงสร้างหลายมิติ
ผลรวมขององค์ประกอบอาร์เรย์
การจัดการกับโครงสร้าง
เมธอดวนซ้ำ
เมธอด map
เมธอด forEach
เมธอด filter
เมธอด every
เมธอด some
เมธอด find
แปล, ภารกิจ
เมธอด reduce
แปล, ภารกิจ
ตัวดำเนินการ spread
บทนำ
ตัวอย่างขั้นสูงกว่า
ค่าสุดขั้วของอาร์เรย์
การรวมอาร์เรย์
การแยกสตริง
การแยกตัวเลข
ตัวดำเนินการ spread และหลายมิติ
todo
ตัวดำเนินการ rest
การทำ Destructuring
การทำ Destructuring อาร์เรย์
อาร์เรย์จากฟังก์ชัน
การข้ามองค์ประกอบของอาร์เรย์
ค่าที่เกินมาในอาร์เรย์
ส่วนที่เหลือของอาร์เรย์
ค่าดีฟอลต์สำหรับอาร์เรย์
ฟังก์ชันดีฟอลต์สำหรับอาร์เรย์
การประกาศตัวแปรสำหรับอาร์เรย์
การทำ Destructuring อ็อบเจกต์
ชื่อตัวแปรสำหรับอ็อบเจกต์
ค่าดีฟอลต์สำหรับอ็อบเจกต์
ตัวแปรและค่าดีฟอลต์สำหรับอ็อบเจกต์
การประกาศตัวแปรสำหรับอ็อบเจกต์
พารามิเตอร์ของฟังก์ชัน
การทำ Destructuring อ็อบเจกต์พารามิเตอร์ของฟังก์ชัน
เวลา
การทำงานกับออบเจ็กต์ Date
การจัดรูปแบบ
การเปลี่ยนรูปแบบวันที่
การได้มาซึ่งวันในสัปดาห์
การแสดงผลวันที่เป็นคำพูด
การตั้งค่าเวลา
รูปแบบ timestamp
ความแตกต่างระหว่าง timestamp
ความแตกต่างระหว่างออบเจ็กต์ที่มีวันที่
การปรับแก้ไขวันที่อัตโนมัติ
การหาวันสุดท้ายของเดือน
การกำหนดปีอธิกสุรทิน
การตรวจสอบความถูกต้อง
การได้มาซึ่งวันของปีปัจจุบัน
วันของเดือนถัดไปหรือเดือนก่อนหน้า
วันของปีถัดไปหรือปีก่อนหน้า
ความแตกต่างของช่วงเวลา
ช่วงเวลาของวัน
จุดเริ่มต้นของวัน
จุดสิ้นสุดของวัน
การตรวจสอบช่วงเวลาแบบวนซ้ำ
แบบฝึกหัดเกี่ยวกับการได้มาซึ่งช่วงเวลา
การเปรียบเทียบแบบสตริง
การเปรียบเทียบวันที่โดยไม่ค���นึงถึงปี
การตกอยู่ในช่วงของวันที่
การเปรียบเทียบออบเจ็กต์ที่มีวันที่
บทนำสู่ DOM
บทนำ
องค์ประกอบ DOM
การได้มาซึ่งองค์ประกอบ DOM
ตัวเลือกขั้นสูงสำหรับองค์ประกอบ DOM
การผูกตัวจัดการเหตุการณ์
ตัวจัดการเหตุการณ์ที่มีชื่อ
ตัวจัดการเดียวสำหรับองค์ประกอบหลายตัว
ตัวจัดการหลายตัวสำหรับเหตุการณ์เดียวกัน
ตัวจัดการสำหรับเหตุการณ์ต่างกัน
ข้อความขององค์ประกอบ
โค้ด HTML ขององค์ประกอบ
แอตทริบิวต์แท็กในฐานะคุณสมบัติ
การทำงานกับช่องข้อความ
โฟกัสของช่องข้อความ
แอตทริบิวต์ข้อยกเว้น
สายโซ่ของเมธอดและคุณสมบัติ
ข้อดีและข้อเสียของสายโซ่
วัตถุ this
ข้อได้เปรียบของ this
การได้มาซึ่งกลุ่มองค์ประกอบ
ตัวจัดการที่มีชื่อในลูป
ตัวจัดการนิรนามในลูป
การปลดตัวจัดการเหตุการณ์
การปลดตัวจัดการในลูป
การปลดตัวจัดการนิรนาม
คำแนะนำสำหรับการเขียนโค้ด
ฝึกหัดการค้นหาข้อผิดพลาด
แบบฝึกหัด
แอตทริบิวต์
วิธีการรับแอตทริบิวต์
วิธีการตั้งค่าแอตทริบิวต์
วิธีการลบแอตทริบิวต์
วิธีการตรวจสอบแอตทริบิวต์
แอตทริบิวต์กำหนดเอง
ชื่อแอตทริบิวต์ที่มีเครื่องหมายยัติภังค์
การอ้างถึงแอตทริบิวต์ผ่านเมธอด
อาเรย์ของคลาส CSS
การเพิ่มคลาส CSS
การลบคลาส CSS
การตรวจสอบคลาส CSS
การสลับคลาส CSS
การกำหนดสไตล์
การกำหนดสไตล์ผ่านแอตทริบิวต์ style
การกำหนดสไตล์คุณสมบัติที่มีเครื่องหมายยัติภังค์
ข้อยกเว้นในการกำหนดสไตล์องค์ประกอบ
การกำหนดสไตล์ผ่านคลาส CSS
ข้อได้เปรียบของการกำหนดสไตล์ด้วยคลาส CSS
การนำการกำหนดสไตล์ไปใช้
การค้นหา
การค้นหาองค์ประกอบลูกหลาน
การค้นหาองค์ประกอบพ่อแม่
การค้นหาองค์ประกอบพ่อแม่ทั้งหมด
การค้นหาองค์ประกอบข้างเคียง
การค้นหาองค์ประกอบด้วย id
การค้นหาองค์ประกอบด้วยชื่อแท็ก
การค้นหาองค์ประกอบด้วยชื่อคลาส
การค้นหาภายในองค์ประกอบ
โหนด
ฟอร์ม
การทำงานกับ textarea
การปิดกั้นองค์ประกอบ
การทำงานกับチェックボックス
การสลับแอตทริบิวต์ที่ไม่มีค่า
การทำงานกับปุ่มเรดิโอ
เหตุการณ์ change
เหตุการณ์ input
เมธอด focus และ blur
ฝึกปฏิบัติการค้นหาข้อผิดพลาด
รายการแบบหล่นลง
การทำงานกับรายการแบบหล่นลง
แอตทริบิวต์ value ในรายการแบบหล่นลง
การเปลี่ยนแปลงรายการที่เลือกในลิสต์
หมายเลขรายการที่เลือกในลิสต์
การรับรายการของรายการแบบหล่นลง
รายการในรูปแบบอาเรย์
การทำงานกับรายการของรายการแบบหล่นลง
การเลือกรายการในลิสต์
การรับรายการที่เลือก
วัตถุ Event
พื้นฐานการทำงานกับวัตถุ Event
พิกัดของเหตุการณ์
ประเภทของเหตุการณ์
องค์ประกอบที่เกิดเหตุการณ์
การรับค่าปุ่มที่ถูกกด
การติดตามปุ่มปรับค่า
การยกเลิกการดำเนินการตามค่าเริ่มต้น
การฟองของเหตุการณ์
องค์ประกอบเป้าหมายในการฟอง
การหยุดการฟองของเหตุการณ์
ตัวจัดการหลายตัวบนองค์ประกอบ
การหยุดการฟองทันที
การประยุกต์ใช้การหยุดการฟองของเหตุการณ์
การจมของเหตุการณ์
ตัวจัดการบนองค์ประกอบใหม่
การมอบหมายเหตุการณ์
การมอบหมายเหตุการณ์สากล
บริบท
พื้นฐานการทำงานกับบริบท
บริบทของฟังก์ชันที่ไม่ได้ผูกมัด
การสูญเสียบร��บท
การแก้ไขปัญหาที่เกี่ยวข้องกับบริบท
การแก้ไขผ่านตัวแปร
การแก้ไขผ่านพารามิเตอร์
การแก้ไขผ่านฟังก์ชันลูกศร
เมธอด call
เมธอด call พร้อมพารามิเตอร์
เมธอด apply
เมธอด bind
ตัวตั้งเวลา
การเรียกใช้งานตัวตั้งเวลา
ตัวนับบนตัวตั้งเวลา
การหยุดตัวตั้งเวลา
ปุ่มสำหรับการเรียกใช้งาน
การเรียกใช้งานซ้ำหลายครั้ง
ปุ่มสำหรับการหยุด
การทำงานกับ DOM
ตัวตั้งเวลาและการสูญเสียบริบท
ภาคปฏิบัติเกี่ยวกับตัวตั้งเวลาและ DOM
การหน่วงเวลาก่อนการดำเนินการ
ตัวตั้งเวลาผ่านการหน่วงเวลา
การจัดการองค์ประกอบ
การสร้างและแทรกองค์ประกอบ
การผูกเหตุการณ์ขณะแทรก
การสร้างองค์ประกอบในลูป
การผูกตัวจัดการในลูป
การลบองค์ประกอบ
การแทรกที่ขอบ
การแทรกก่อนหน้า
การแทรกประชิด
การแทรกแท็กประชิด
การโคลนองค์ประกอบ
การตรวจสอบองค์ประกอบ
แบบฝึกหัด
การสร้างองค์ประกอบจากอาร์เรย์
แบบฝึกหัดการสร้างรายการ ul
การสร้างตาราง
การกรอกข้อมูลในตารางอย่างเป็นลำดับ
การสร้างตารางจากอาร์เรย์
การสร้างตารางจากอาร์เรย์ของวัตถุ
การเพิ่มแถวและคอลัมน์ในตาราง
การปรับเปลี่ยนเซลล์ของตาราง
การลบองค์ประกอบใหม่
ลิงก์สำหรับลบองค์ประกอบ
การสร้างลิงก์สำหรับการลบ
การแก้ไของค์ประกอบเดี่ยว
ซ่อนข้อความขณะแก้ไข
การแก้ไขในชุดขององค์ประกอบ
การลบและการแก้ไข
การกำหนดสไตล์ให้องค์ประกอบ
ปุ่มสำหรับซ่อนและแสดงองค์ประกอบ
องค์ประกอบหลายรายการกับปุ่มแสดง
การเปิดใช้งานองค์ประกอบ
การสลับสไตล์การเปิดใช้งาน
แบบฝึกหัดการเปลี่ยนองค์ประกอบ
ฟังก์ชันและ DOM
ฟังก์ชันสำหรับทำงานกับองค์ประกอบ DOM
ฟังก์ชันสำหรับทำงานกับกลุ่มขององค์ประกอบ
การส่งผ่าน callback เพื่อทำงานกับ DOM
การส่งผ่านหมายเลขลำดับใน callback
การส่งผ่านองค์ประกอบเป็นพารามิเตอร์ของฟังก์ชัน
การส่งผ่านกลุ่มขององค์ประกอบเป็นพารามิเตอร์
ฟังก์ชันสำหรับสร้างตาราง HTML
การส่งคืนตารางจากฟังก์ชัน
ฟังก์ชันสำหรับสร้างตารางจากอาร์เรย์