ล่าสุดการพัฒนาเว็บบทเรียน
×

JS เกี่ยวกับการสอน

JS บ้าน JS บทนำ JS สถานที่ที่จะ JS ส่งออก JS วากยสัมพันธ์ JS งบ JS ความคิดเห็น JS ตัวแปร JS ผู้ประกอบการ JS คณิตศาสตร์ JS การมอบหมาย JS ชนิดข้อมูล JS ฟังก์ชั่น JS วัตถุ JS ขอบเขต JS เหตุการณ์ JS เงื่อนไข JS วิธีสตริง JS เบอร์ JS วิธีการจำนวน JS คณิตศาสตร์ JS วันที่ JS รูปแบบวันที่ JS วันวิธีการ JS แถว JS วิธีการอาร์เรย์ JS booleans JS เปรียบเทียบ JS เงื่อนไข JS สวิตซ์ JS ห่วง For JS ในขณะที่ห่วง JS หยุด JS ประเภทการแปลง JS นิพจน์ทั่วไป JS ข้อผิดพลาด JS แก้จุดบกพร่อง JS hoisting JS โหมดที่เข้มงวด JS คู่มือสไตล์ JS ปฏิบัติที่ดีที่สุด JS ข้อผิดพลาด JS ประสิทธิภาพ JS คำสงวน JS JSON

JS ฟอร์ม

แบบฟอร์มการตรวจสอบ รูปแบบ API

JS วัตถุ

นิยามวัตถุ คุณสมบัติของวัตถุ วิธีการของวัตถุ ต้นแบบวัตถุ

JS ฟังก์ชั่น

นิยามฟังก์ชั่น ค่าฟังก์ชัน ฟังก์ชั่นการภาวนา ปิดฟังก์ชั่น

JS HTML DOM

DOM แนะนำ DOM วิธีการ DOM เอกสาร DOM องค์ประกอบ DOM HTML DOM CSS DOM ภาพเคลื่อนไหว DOM เหตุการณ์ DOM EventListener DOM การเดินเรือ DOM โหนด DOM Nodelist

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

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

JS ตัวอย่าง

JS ตัวอย่าง JS HTML DOM JS HTML อินพุต JS HTML วัตถุ JS HTML เหตุการณ์ JS เบราว์เซอร์ JS ทดสอบ JS สรุป

JS คู่มืออ้างอิง

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


 

JavaScriptวัตถุ


วัตถุ JavaScript

ใน JavaScript วัตถุเป็นกษัตริย์ หากคุณเข้าใจวัตถุคุณเข้าใจ JavaScript

ใน JavaScript เกือบทุกอย่าง "" เป็นวัตถุ

  • Booleans สามารถวัตถุ (หรือข้อมูลดั้งเดิมถือว่าเป็นวัตถุ)
  • Numbers สามารถวัตถุ (หรือข้อมูลดั้งเดิมถือว่าเป็นวัตถุ)
  • Strings สามารถวัตถุ (หรือข้อมูลดั้งเดิมถือว่าเป็นวัตถุ)
  • Dates อยู่เสมอวัตถุ
  • Maths อยู่เสมอวัตถุ
  • Regular การแสดงออกอยู่เสมอวัตถุ
  • Arrays อยู่เสมอวัตถุ
  • Functions อยู่เสมอวัตถุ
  • Objects เป็นวัตถุ

ใน JavaScript ค่าทั้งหมดยกเว้นค่าดั้งเดิมเป็นวัตถุ

ค่าดั้งเดิมคือสตริง ("John Doe") , ตัวเลข (3.14), true, false, null และ undefined


วัตถุที่เป็นตัวแปรที่มีตัวแปร

ตัวแปร JavaScript ที่สามารถมีค่าเดียว:

ตัวอย่าง

var person = "John Doe";
ลองตัวเอง»

วัตถุที่เป็นตัวแปรมากเกินไป แต่วัตถุที่สามารถมีค่าจำนวนมาก

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

ตัวอย่าง

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
ลองตัวเอง»

วัตถุ JavaScript เป็นคอลเลกชันของค่าชื่อ


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

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

คุณสมบัติ ความคุ้มค่า
firstName John
lastName Doe
age 50
eyeColor blue

วัตถุที่เขียนเป็นคู่ค่าชื่อคล้ายกับ:

  • เชื่อมโยงอาร์เรย์ใน PHP
  • พจนานุกรมในหลาม
  • ตารางกัญชาใน C
  • แผนที่กัญชาในชวา
  • hashes ใน Ruby และ Perl

วิธีการของวัตถุ

วิธีการดำเนินการที่สามารถดำเนินการในวัตถุ

คุณสมบัติของวัตถุสามารถทั้งสองค่าดั้งเดิมวัตถุอื่น ๆ และฟังก์ชั่น

วิธีการที่วัตถุที่เป็นทรัพย์สินวัตถุที่มีความคมชัดฟังก์ชั่น

คุณสมบัติ ความคุ้มค่า
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

วัตถุ JavaScript เป็นภาชนะสำหรับค่าชื่อคุณสมบัติและวิธีการที่เรียกว่า

คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการในบทต่อไป


การสร้างวัตถุ JavaScript

ด้วย JavaScript คุณสามารถกำหนดและสร้างวัตถุของคุณเอง

มีวิธีการที่แตกต่างกันในการสร้างวัตถุใหม่:

  • กำหนดและสร้างวัตถุเดียวโดยใช้วัตถุที่แท้จริง
  • กำหนดและสร้างวัตถุเดียวกับใหม่คำหลัก
  • กำหนดตัวสร้างวัตถุแล้วสร้างวัตถุชนิดสร้าง

ใน ECMAScript 5 วัตถุนอกจากนี้ยังสามารถสร้างขึ้นด้วยฟังก์ชั่น Object.create()


การใช้วัตถุตามตัวอักษร

นี้เป็นวิธีที่ง่ายที่สุดในการสร้างวัตถุ JavaScript

โดยใช้วัตถุที่แท้จริงที่คุณทั้งสองกำหนดและสร้างวัตถุในงบหนึ่ง

วัตถุที่แท้จริงคือรายการของชื่อ: คู่ค่า (เช่น age:50 ) ภายในวงเล็บปีกกา {}

ตัวอย่างต่อไปนี้สร้างวัตถุ JavaScript ใหม่ที่มีคุณสมบัติที่สี่:

ตัวอย่าง

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
ลองตัวเอง»

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

ตัวอย่าง

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};
ลองตัวเอง»

โดยใช้คำสำคัญที่ใช้ JavaScript ใหม่

ตัวอย่างต่อไปนี้ยังสร้างวัตถุ JavaScript ใหม่ที่มีคุณสมบัติที่สี่:

ตัวอย่าง

var person = new Object();
person.firstName = "John";
person.lastName = "Doe";
person.age = 50;
person.eyeColor = "blue";
ลองตัวเอง»

สองตัวอย่างข้างต้นไม่เหมือนกัน ไม่มีความจำเป็นที่จะใช้เป็น new Object()
สำหรับความเรียบง่ายอ่านง่ายและความเร็วในการดำเนินการใช้ครั้งแรก (Object วิธีการตามตัวอักษร)


ใช้สร้างวัตถุ

ตัวอย่างข้างต้นจะถูก จำกัด ในหลาย ๆ สถานการณ์ พวกเขาเพียง แต่สร้างวัตถุเดียว

บางครั้งเราต้องการที่จะมี "ชนิดของวัตถุ" ที่สามารถนำมาใช้ในการสร้างวัตถุหลายประเภทหนึ่ง

วิธีมาตรฐานในการสร้าง "ชนิดของวัตถุ" คือการใช้ฟังก์ชั่นวัตถุที่สร้าง:

ตัวอย่าง

function person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}
var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");
ลองตัวเอง»

ฟังก์ชั่นดังกล่าวข้างต้น (คน) เป็นตัวสร้างวัตถุ

เมื่อคุณมีตัวสร้างวัตถุคุณสามารถสร้างวัตถุใหม่ประเภทเดียวกัน:

var myFather = new person("John", "Doe", 50, "blue");
var myMother = new person("Sally", "Rally", 48, "green");

this คำหลัก

ใน JavaScript สิ่งที่เรียกว่า this เป็นวัตถุที่ว่า "เป็นเจ้าของ" รหัส JavaScript

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

ค่าของ this เมื่อใช้ในวัตถุที่เป็นวัตถุเอง

this คำหลักในตัวสร้างวัตถุไม่ได้มีค่า มันเป็นเพียงทดแทนสำหรับวัตถุใหม่

ค่าของ this จะกลายเป็นวัตถุใหม่เมื่อสร้างจะใช้ในการสร้างวัตถุ

โปรดทราบว่านี้ไม่ได้เป็นตัวแปร มันเป็นคำหลักที่ คุณไม่สามารถเปลี่ยนค่าของ this


Built-in ก่อสร้าง JavaScript

JavaScript มี built-in ก่อสร้างสำหรับวัตถุพื้นเมือง:

ตัวอย่าง

var x1 = new Object();    // A new Object object
var x2 = new String();    // A new String object
var x3 = new Number();    // A new Number object
var x4 = new Boolean()    // A new Boolean object
var x5 = new Array();     // A new Array object
var x6 = new RegExp();    // A new RegExp object
var x7 = new Function();  // A new Function object
var x8 = new Date();      // A new Date object
ลองตัวเอง»

Math() วัตถุไม่ได้อยู่ในรายการ คณิตศาสตร์เป็นวัตถุทั่วโลก คำหลักใหม่ที่ยังไม่สามารถนำมาใช้ในทางคณิตศาสตร์

เธอรู้รึเปล่า?

ที่คุณสามารถดู, JavaScript มีรุ่นวัตถุของดั้งเดิม string ชนิดของข้อมูลตัวเลขและบูลีน

ไม่มีเหตุผลที่จะสร้างวัตถุที่ซับซ้อนไม่เป็น ค่าดั้งเดิมดำเนินการได้เร็วขึ้นมาก

และมีเหตุผลที่จะใช้ใหม่ Array() ใช้ตัวอักษรอาร์เรย์แทน: []

และมีเหตุผลที่จะใช้ใหม่ไม่มี RegExp() ใช้ตัวอักษรรูปแบบแทน: /()/

และมีเหตุผลที่จะใช้ใหม่ไม่มี Function() ฟังก์ชั่นใช้การแสดงออกแทน: function () {}

และมีเหตุผลที่จะไม่ใช้ new Object() ใช้ตัวอักษรวัตถุแทน: {}

ตัวอย่าง

var x1 = {};            // new object
var x2 = "";            // new primitive string
var x3 = 0;             // new primitive number
var x4 = false;         // new primitive boolean
var x5 = [];            // new array object
var x6 = /()/           // new regexp object
var x7 = function(){};  // new function object
ลองตัวเอง»

วัตถุ JavaScript ไม่แน่นอน

วัตถุที่ไม่แน่นอน: พวกเขาได้รับการแก้ไขโดยการอ้างอิงโดยไม่คุ้มค่า

ถ้า Y เป็นวัตถุข้อความต่อไปนี้จะไม่สร้างสำเนาของ Y A:

var x = y;  // This will not create a copy of y.

วัตถุ X ไม่ได้สำเนาของ Y มันเป็น Y ทั้ง X และ Y จุดไปที่วัตถุเดียวกัน

การเปลี่ยนแปลงใด ๆ Y จะเปลี่ยน X เพราะ x และ y เป็นวัตถุเดียวกัน

ตัวอย่าง

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

var x = person;
x.age = 10;           // This will change both x.age and person.age
ลองตัวเอง»