Định nghĩa đối tượng JavaScript
- Trang trước Lịch sử JS
- Trang tiếp theo Thuộc tính đối tượng JS
在 JavaScript 中,对象是王。如果您理解了对象,就理解了 JavaScript。
在 JavaScript 中,几乎“所有事物”都是对象。
- 布尔是对象(如果用 new 关键词定义)
- 数字是对象(如果用 new 关键词定义)
- 字符串是对象(如果用 new 关键词定义)
- 日期永远都是对象
- 算术永远都是对象
- 正则表达式永远都是对象
- 数组永远都是对象
- 函数永远都是对象
- 对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
JavaScript 原始值
原始值指的是没有属性或方法的值。
原始数据类型指的是拥有原始值的数据。
JavaScript 定义了 5 种原始数据类型:
- string
- number
- boolean
- null
- undefined
原始值是一成不变的(它们是硬编码的,因此不能改变)。
假设 x = 3.14,您能够改变 x 的值。但是您无法改变 3.14 的值。
giá trị | 类型 | 注释 |
---|---|---|
"Hello" | string | "Hello" 始终是 "Hello" |
3.14 | number | 3.14 始终是 3.14 |
true | boolean | true 始终是 true |
false | boolean | false 始终是 false |
null | null | (object) null 始终是 null |
undefined | undefined | undefined 始终是 undefined |
对象是包含变量的变量
JavaScript 变量能够包含单个的值:
Ví dụ
var person = "Bill Gates";
对象也是变量。但是对象能够包含很多值。
值按照名称 : 值对的形式编写(名称和值以冒号分隔)。
Ví dụ
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
JavaScript 对象是命名值的集合。
对象属性
JavaScript 对象中的命名值,被称为thuộc tính。
thuộc tính | giá trị |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
以名称值对书写的对象类似于:
- PHP 中的关联数组
- Python 中的字典
- bảng hash trong C
- hợp đồng ánh sáng trong Java
- mạng lưới trong Ruby và Perl
phương pháp đối tượng
phương pháp là có thể thực thi trên đối tượnghoạt động。
Thuộc tính đối tượng có thể là giá trị nguyên thủy, đối tượng khác và hàm.
phương pháp đối tượngbao gồmđịnh nghĩa hàmcủa đối tượng.
thuộc tính | giá trị |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
Đối tượng JavaScript là chứa giá trị được gọi là thuộc tính và phương pháp.
Bạn sẽ học thêm về phương pháp trong chương tiếp theo.
Tạo đối tượng JavaScript
Bằng JavaScript, bạn có thể định nghĩa và tạo đối tượng của riêng mình.
Có nhiều cách để tạo đối tượng:
- Định nghĩa và tạo đối tượng đơn lẻ bằng văn bản đối tượng.
- Định nghĩa và tạo đối tượng đơn lẻ thông qua từ khóa new.
- định nghĩa người tạo đối tượng, sau đó tạo đối tượng loại cấu trúc.
Trong ECMAScript 5, bạn cũng có thể thông qua hàm Object.create()
để tạo đối tượng.
Sử dụng đối tượng văn bản
Đây là cách đơn giản nhất để tạo đối tượng.
Sử dụng văn bản đối tượng, bạn có thể định nghĩa và tạo đối tượng trong một câu.
Đối tượng văn bản là dấu ngoặc nhọn {}
của tên: giá trị (ví dụ như age:62).
Ví dụ dưới đây tạo ra đối tượng JavaScript mới với bốn thuộc tính:
Ví dụ
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
Khoảng trống và dòng ngắn không quan trọng. Định nghĩa đối tượng có thể trải qua nhiều dòng:
Ví dụ
var person = { firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue" };
Sử dụng từ khóa JavaScript new
Ví dụ dưới đây cũng tạo ra đối tượng JavaScript mới với bốn thuộc tính:
Ví dụ
var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = 50; person.eyeColor = "blue";
Kết quả của hai ví dụ trên là giống nhau. Không cần sử dụng new Object()
。
Để đảm bảo tính đơn giản, khả đọc và tốc độ thực thi, hãy sử dụng phương pháp tạo đầu tiên (phương pháp văn bản đối tượng).
Đối tượng JavaScript thay đổi dễ dàng
Đối tượng thay đổi dễ dàng: chúng được định址 qua tham chiếu,而非 giá trị.
Nếu person là đối tượng, câu lệnh dưới đây sẽ không tạo bản sao của person:
var x = person; // Điều này sẽ không tạo bản sao của person.
đối tượng x không phải bản sao của person. Nóđó là person.x và person là đối tượng cùng nhau.
Mọi thay đổi nào đối với x sẽ thay đổi person, vì x và person là đối tượng cùng nhau.
Ví dụ
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"} var x = person; x.age = 10; // Điều này sẽ thay đổi cả x.age và person.age
Ghi chú:Biến JavaScript không thay đổi. Chỉ đối tượng JavaScript mới như vậy.
- Trang trước Lịch sử JS
- Trang tiếp theo Thuộc tính đối tượng JS