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


วัตถุ คุณสมบัติ และวิธีการในชีวิตจริง

ในชีวิตจริง รถยนต์คือสิ่งของ

รถยนต์มีคุณสมบัติอย่างเช่น น้ำหนักและสี และวิธีการต่างๆ เช่น การสตาร์ทและหยุด:

วัตถุ คุณสมบัติ วิธีการ

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = ขาว

car.start()

car.drive()

car.brake()

รถหยุด()

รถทุกคันมีคุณสมบัติ เหมือนกัน แต่มูลค่า ทรัพย์สิน แตกต่างกันไปในแต่ละคัน

รถทุกคันมีวิธีการเหมือนกันแต่วิธีการจะดำเนินการ ในเวลาที่ต่างกัน


วัตถุ JavaScript

คุณได้เรียนรู้แล้วว่าตัวแปร JavaScript เป็นที่เก็บค่าข้อมูล

รหัสนี้กำหนดค่าอย่างง่าย (Fiat) ให้กับตัวแปรชื่อ car:

let car = "Fiat";

วัตถุก็เป็นตัวแปรเช่นกัน แต่วัตถุสามารถมีค่าได้มากมาย

รหัสนี้กำหนดค่าจำนวนมาก (Fiat, 500, สีขาว) ให้กับ ตัวแปร ชื่อ car:

const car = {type:"Fiat", model:"500", color:"white"};

ค่าจะถูกเขียนเป็น คู่ ของชื่อ:ค่า (ชื่อและค่าคั่นด้วยเครื่องหมายทวิภาค)

เป็นเรื่องปกติที่จะประกาศวัตถุด้วยคำสำคัญconst

เรียนรู้เพิ่มเติมเกี่ยวกับการใช้constกับอ็อบเจ็กต์ในบท: JS Const



คำจำกัดความของวัตถุ

คุณกำหนด (และสร้าง) วัตถุ JavaScript ด้วยตัวอักษรวัตถุ:

ตัวอย่าง

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

การเว้นวรรคและการขึ้นบรรทัดใหม่ไม่สำคัญ คำจำกัดความของวัตถุสามารถขยายได้หลายบรรทัด:

ตัวอย่าง

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};

คุณสมบัติของวัตถุ

ชื่อ:ค่าคู่ในวัตถุ JavaScript เรียกว่าคุณสมบัติ :

คุณสมบัติ มูลค่าทรัพย์สิน
ชื่อจริง จอห์น
นามสกุล โด่
อายุ 50
สีตา สีฟ้า

การเข้าถึงคุณสมบัติของวัตถุ

คุณสามารถเข้าถึงคุณสมบัติของวัตถุได้สองวิธี:

objectName.propertyName

หรือ

objectName["propertyName"]

ตัวอย่าง1

person.lastName;

ตัวอย่าง2

person["lastName"];

ออบเจ็ก ต์ JavaScript เป็นคอนเทนเนอร์สำหรับค่าที่มีชื่อ ซึ่ง เรียกว่าคุณสมบัติ


วิธีการวัตถุ

วัตถุยังสามารถมีวิธีการ

เมธอดคือการกระทำที่สามารถทำได้กับออบเจ็กต์

เมธอดถูกเก็บไว้ในคุณสมบัติเป็นนิยามของ ฟังก์ชัน

คุณสมบัติ มูลค่าทรัพย์สิน
ชื่อจริง จอห์น
นามสกุล โด่
อายุ 50
สีตา สีฟ้า
ชื่อเต็ม function() {ส่งคืน this.firstName + " " + this.lastName;}

วิธีการคือฟังก์ชันที่เก็บไว้เป็นคุณสมบัติ


ตัวอย่าง

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

คีย์เวิร์ดนี้ _

ในนิยามฟังก์ชันthisหมายถึง "เจ้าของ" ของฟังก์ชัน

ในตัวอย่างข้างต้นthisเป็นวัตถุบุคคลที่ "เป็นเจ้าของ" fullNameฟังก์ชัน

กล่าวอีกนัยหนึ่งthis.firstNameหมายถึงfirstNameคุณสมบัติของวัตถุนี้

อ่านเพิ่มเติมเกี่ยวกับthisคำหลักที่JS คำหลักนี้


การเข้าถึงวิธีการอ็อบเจ็กต์

คุณเข้าถึงวิธีการอ็อบเจ็กต์ด้วยไวยากรณ์ต่อไปนี้:

objectName.methodName()

ตัวอย่าง

name = person.fullName();

หากคุณเข้าถึงเมธอดโดยไม่มี () วงเล็บจะคืนค่าฟังก์ชัน definition :

ตัวอย่าง

name = person.fullName;

อย่าประกาศสตริง ตัวเลข และบูลีนเป็นวัตถุ!

เมื่อมีการประกาศตัวแปร JavaScript ด้วยคีย์เวิร์ด " new" ตัวแปรจะถูกสร้างขึ้นเป็นอ็อบเจ็กต์:

x = new String();        // Declares x as a String object
y = new Number();        // Declares y as a Number object
z = new Boolean();       // Declares z as a Boolean object

หลีกเลี่ยงString, Number, และBooleanวัตถุ มันทำให้โค้ดของคุณซับซ้อนและทำให้ความเร็วในการดำเนินการช้าลง

คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับวัตถุในภายหลังในบทช่วยสอนนี้


ทดสอบตัวเองด้วยแบบฝึกหัด

ออกกำลังกาย:

แจ้งเตือน"John"โดยการดึงข้อมูลจากpersonวัตถุ

const person = {
  firstName: "John",
  lastName: "Doe"
};

alert();