JS กวดวิชา

เจเอสโฮม JS Introduction JS Where To JS เอาท์พุต งบ JS JS ไวยากรณ์ JS ความคิดเห็น ตัวแปร JS เจเอส เลท JS Const JS Operators JS เลขคณิต JS Assignment ประเภทข้อมูล JS ฟังก์ชัน JS วัตถุ JS JS Events JS Strings JS String Methods JS String Search เทมเพลตสตริง JS JS Numbers JS Number Methods JS Arrays JS Array Methods JS Array Sort JS Array Iteration JS Array Const JS Dates รูปแบบวันที่ JS JS วันที่รับเมธอด JS Date Set Methods JS Math JS สุ่ม JS Booleans JS เปรียบเทียบ JS Conditions JS Switch JS ลูปสำหรับ JS Loop สำหรับ In JS วนสำหรับ Of JS วนรอบในขณะที่ JS Break JS Iterables JS ชุด JS Maps JS Typeof JS ประเภทการแปลง JS Bitwise JS RegExp JS Errors JS ขอบเขต JS Hoisting JS โหมดเข้มงวด JS คำสำคัญนี้ JS Arrow Function JS Classes JS JSON JS Debugging คู่มือสไตล์ JS JS แนวทางปฏิบัติที่ดีที่สุด JS ความผิดพลาด JS Performance JS สงวนคำ

เวอร์ชัน JS

เวอร์ชัน JS JS 2009 (ES5) เจเอส 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / ขอบ JS History

วัตถุ JS

คำจำกัดความของวัตถุ คุณสมบัติของวัตถุ วิธีการวัตถุ การแสดงวัตถุ อุปกรณ์เสริมวัตถุ ตัวสร้างวัตถุ ต้นแบบวัตถุ วัตถุ Iterables ชุดวัตถุ แผนที่วัตถุ การอ้างอิงวัตถุ

ฟังก์ชัน JS

คำจำกัดความของฟังก์ชัน พารามิเตอร์ฟังก์ชัน เรียกใช้ฟังก์ชัน เรียกฟังก์ชัน ฟังก์ชัน สมัคร การปิดฟังก์ชัน

JS Classes

แนะนำคลาส การสืบทอดคลาส คลาสคงที่

JS Async

JS Callbacks JS แบบอะซิงโครนัส JS Promises JS Async/รอ

JS HTML DOM

บทนำ DOM วิธี DOM เอกสาร DOM องค์ประกอบ DOM DOM HTML แบบฟอร์ม DOM DOM CSS ภาพเคลื่อนไหว DOM กิจกรรม DOM DOM Event Listener การนำทาง DOM โหนด DOM DOM Collections รายการโหนด DOM

JS เบราว์เซอร์ BOM

JS Window JS Screen JS Location JS History JS Navigator JS Popup Alert JS Timing JS Cookies

JS Web APIs

แนะนำ Web API เว็บฟอร์ม API API ประวัติเว็บ API ที่เก็บข้อมูลเว็บ Web Worker API API ดึงเว็บ เว็บ Geolocation API

JS AJAX

บทนำ AJAX AJAX XMLHttp คำขอ AJAX การตอบสนอง AJAX ไฟล์ AJAX XML AJAX PHP AJAX ASP ฐานข้อมูล AJAX แอปพลิเคชัน AJAX ตัวอย่าง AJAX

JS JSON

บทนำ JSON ไวยากรณ์ JSON JSON กับ XML ประเภทข้อมูล JSON JSON Parse JSON สตริงริฟาย วัตถุ JSON อาร์เรย์ JSON เซิร์ฟเวอร์ JSON JSON PHP JSON HTML JSON JSONP

JS กับ jQuery

ตัวเลือก jQuery jQuery HTML jQuery CSS jQuery DOM

JS กราฟิก

JS กราฟิก JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

ตัวอย่าง JS

ตัวอย่าง JS JS HTML DOM JS HTML อินพุต JS HTML Objects JS HTML Events JS Browser JS Editor JS แบบฝึกหัด JS Quiz ใบรับรอง JS

JS References

วัตถุ JavaScript วัตถุ HTML DOM


ประวัติจาวาสคริปต์


JavaScript / ECMAScript

JavaScriptถูกคิดค้นโดยBrendan Eichในปี 1995

ได้รับการพัฒนาสำหรับNetscape 2และกลายเป็น มาตรฐาน ECMA-262ในปี 1997

หลังจากที่ Netscape มอบ JavaScript ให้กับ ECMA มูลนิธิ Mozilla ยังคงพัฒนา JavaScript สำหรับเบราว์เซอร์ Firefox ต่อไป เวอร์ชันล่าสุดของ Mozilla คือ 1.8.5 (เหมือนกับ ES5)

Internet Explorer (IE4) เป็นเบราว์เซอร์แรกที่รองรับ ECMA-262 Edition 1 (ES1)

ปี ECMAเบราว์เซอร์
1995   JavaScript ถูกคิดค้นโดย Brendan Eich
พ.ศ. 2539   Netscape 2 เปิดตัวด้วย JavaScript 1.0
1997   JavaScript กลายเป็นมาตรฐาน ECMA (ECMA-262)
1997 ES1 ECMAScript 1 เปิดตัวแล้ว
1997 ES1 IE 4 เป็นเบราว์เซอร์แรกที่รองรับ ES1
1998 ES2 ECMAScript 2 เปิดตัวแล้ว
1998   Netscape 42 เปิดตัวด้วย JavaScript 1.3
1999 ES2 IE 5 เป็นเบราว์เซอร์แรกที่รองรับ ES2
1999 ES3 ECMAScript 3 เปิดตัวแล้ว
2000 ES3 IE 5.5 เป็นเบราว์เซอร์แรกที่รองรับ ES3
2000   Netscape 62 เปิดตัวด้วย JavaScript 1.5
2000   Firefox 1 เปิดตัวด้วย JavaScript 1.5
2008 ES4 ECMAScript 4 ถูกละทิ้ง
2552 ES5 ECMAScript 5 เปิดตัวแล้ว
2011 ES5 IE 9 เป็นเบราว์เซอร์แรกที่รองรับ ES5 *
2011 ES5 Firefox 4 เปิดตัวด้วย JavaScript 1.8.5
2012 ES5 รองรับ ES5 อย่างเต็มที่ใน Safari 6
2012 ES5 รองรับ ES5 ใน IE 10 . อย่างเต็มที่
2012 ES5 รองรับ ES5 ใน Chrome 23 . อย่างเต็มรูปแบบ
2013 ES5 รองรับ ES5 อย่างสมบูรณ์ใน Firefox 21
2013 ES5 รองรับ ES5 อย่างเต็มที่ใน Opera 15
2014 ES5 รองรับ ES5 อย่างเต็มที่ในทุกเบราว์เซอร์
2015 ES6 ECMAScript 6 เปิดตัวแล้ว
2016 ES6 รองรับ ES6 ใน Chrome 51 . อย่างเต็มที่
2016 ES6 รองรับ ES6 อย่างเต็มที่ใน Opera 38
2016 ES6 รองรับ ES6 ใน Edge 14 . อย่างเต็มที่
2016 ES6 รองรับ ES6 อย่างเต็มที่ใน Safari 10
2015 ES6 รองรับ ES6 อย่างสมบูรณ์ใน Firefox 52
2018 ES6 รองรับ ES6 อย่างเต็มที่ในทุกเบราว์เซอร์ **

บันทึก

* Internet Explorer 9 ไม่รองรับ ES5 "ใช้อย่างเข้มงวด"

** Internet Explorer 11 ไม่รองรับ ES6


คณะกรรมการเทคนิค ECMA39

ในปี 1996 Netscape และ Brendan Eich นำ JavaScript ไปที่องค์กรมาตรฐานสากล ECMA และมีการจัดตั้งคณะกรรมการด้านเทคนิค (TC39) เพื่อพัฒนาภาษา

ECMA-262 Edition 1 เปิดตัวในเดือนมิถุนายน 1997


จาก ES4 ถึง ES6

เมื่อคณะกรรมการ TC39 รวมตัวกันที่ออสโลในปี 2008 เพื่อตกลงกับ ECMAScript 4 พวกเขาถูกแบ่งออกเป็น 2 ค่ายที่แตกต่างกันมาก:

ค่าย ECMAScript 3.1 :
Microsoft และ Yahoo ที่ต้องการอัปเกรดเพิ่มเติมจาก ES3

ค่าย ECMAScript 4 :
Adobe, Mozilla, Opera และ Google ที่ต้องการอัปเกรด ES4 จำนวนมาก

13 สิงหาคม 2551 Brendan Eich เขียน อีเมล :

ไม่เป็นความลับที่เนื้อหามาตรฐาน JavaScript, คณะกรรมการด้านเทคนิค 39 ของ Ecma, ถูกแยกออกมานานกว่าหนึ่งปี, โดยสมาชิกบางคนชื่นชอบ ES4, รุ่นที่สี่ที่สำคัญของ ECMA-262 และคนอื่น ๆ ที่สนับสนุน ES3.1 ตาม ECMA-262 ที่มีอยู่ ข้อกำหนดฉบับที่ 3 (ES3) ตอนนี้ ฉันยินดีที่จะรายงาน การแตกแยกสิ้นสุดลงแล้ว

วิธีแก้ไขคือการทำงานร่วมกัน:

  • ECMAScript 4 ถูกเปลี่ยนชื่อเป็น ES5
  • ES5 ควรเป็นการอัปเกรดที่เพิ่มขึ้นของ ECMAScript 3
  • คุณสมบัติของ ECMAScript 4 ควรเลือกใช้ในเวอร์ชันที่ใหม่กว่า
  • TC39 ควรพัฒนารุ่นใหญ่ใหม่ซึ่งมีขอบเขตที่ใหญ่กว่า ES5

การเปิดตัวใหม่ที่วางแผนไว้ (ES6) มีชื่อรหัสว่า "Harmony" (เพราะว่ามันถูกสร้างขึ้นมา?)

ES5 ประสบความสำเร็จอย่างมาก เปิดตัวในปี 2552 และเบราว์เซอร์หลักๆ ทั้งหมด (รวมถึง Internet Explorer) ได้ปฏิบัติตามข้อกำหนดอย่างสมบูรณ์ภายในเดือนกรกฎาคม 2013:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 ก็ประสบความสำเร็จอย่างมากเช่นกัน เปิดตัวในปี 2558 และเบราว์เซอร์หลักทั้งหมดเป็นไปตามข้อกำหนดอย่างสมบูรณ์ภายในเดือนมีนาคม 2560:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016