Hướng dẫn how do you save an object in javascript? - làm thế nào để bạn lưu một đối tượng trong javascript?

Tôi có cây của các đối tượng JavaScript. Hãy gọi nó là "gia đình. Nó có thể chứa bất kỳ số lượng đối tượng nhất định (" cha mẹ ") có thể chứa bất kỳ số lượng đối tượng" con "nào. Số lượng cấp độ trong cấu trúc này được biết đến và từng cấp độ của cây chỉ chứa các đối tượng của một loại nhất định.

Tất cả các đối tượng có dữ liệu và phương pháp.

Tôi muốn lưu dữ liệu có cấu trúc trong dữ liệu. Json.Stringify () nó hoàn hảo trích xuất dữ liệu và cũng lưu cấu trúc. Nhưng làm thế nào để trở lại với các đối tượng? Json.parse () thất bại, vì nó tái tạo đối tượng mà không có phương thức.

Tôi nên làm gì trong trường hợp này? Tôi có nên viết chức năng của riêng mình để tái tạo đối tượng từ chuỗi không? Hoặc tôi nên lưu dữ liệu cùng với các phương pháp bằng cách nào đó (có vẻ là lãng phí).

Như tôi biết cấu trúc, sẽ rất tiện dụng nếu có khả năng chỉ vào một đối tượng và nói "đó là một đối tượng cha mẹ" và nó sẽ có được các phương pháp. Tôi có thể dễ dàng đạp xe qua nó sau đó. Nhưng tôi không biết làm thế nào và tôi cũng sợ rằng các hàm tạo của tôi có thể đặt một số giá trị cho các giá trị mặc định.

Các nhà xây dựng đối tượng sẽ trông giống như thế này:

function lines()
{
    this.lines = [];
    this.height = 0.5*theMargin;

    this.addLine = addLine;

    function addLine(newline)
    {
        this.lines.push(newline);
        this.height += newline.height;
    }
}

function aLine()
{
    this.dots = [];
    this.height = 0;
    this.length = indent;

    this.insertDot = insertDot;

    function insertDot(pos,newDot)
    {
        this.dots.splice(pos,0,newDot);
        this.length += newDot.length;
        this.height = Math.max(this.height,newDot.height);
        if (this.length > maxLineLength)
        { "I will not go into details here" }
    }
}

Sau đó, tôi sẽ thích:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);

Sau đó, tôi muốn lưu dữ liệu về độ dài và chiều cao. Và cấu trúc, để biết dấu chấm nào thuộc về dòng nào.

Tôi gửi dữ liệu đó đến máy chủ web. Tôi nghĩ rằng đây là những dòng chính để hiểu cách tiếp cận đã sử dụng:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);

Tệp đã lưu lưu chính xác những gì tôi muốn - cấu trúc và dữ liệu. Nhưng tôi không biết làm thế nào để làm cho nó trở thành một đối tượng một lần nữa. Tôi không khăng khăng sử dụng phương thức json.Stringify (). Tôi sẽ thích bất kỳ cách tiếp cận nào cho phép tôi lưu nội dung mà không liên tục lưu các phương pháp.

  • Tổng quan: Đối tượng
  • Tiếp theo

Trong mô -đun này

Làm thế nào để bạn sao chép một đối tượng trong JavaScript?

Để sao chép một đối tượng trong JavaScript, bạn có ba tùy chọn:.

Sử dụng cú pháp lây lan (...) ..

Như với nhiều thứ trong JavaScript, việc tạo một đối tượng thường bắt đầu bằng việc xác định và khởi tạo một biến. Hãy thử nhập dòng sau bên dưới mã JavaScript đã có trong tệp của bạn, sau đó lưu và làm mới:

Bây giờ hãy mở bảng điều khiển JavaScript của trình duyệt, nhập

[object Object]
Object { }
{ }
0 vào đó và nhấn Enter/Return. Bạn sẽ nhận được kết quả tương tự như một trong các dòng dưới đây:

[object Object]
Object { }
{ }

Xin chúc mừng, bạn vừa tạo đối tượng đầu tiên của mình. Công việc hoàn thành! Nhưng đây là một đối tượng trống, vì vậy chúng tôi thực sự không thể làm được gì nhiều với nó. Hãy cập nhật đối tượng JavaScript trong tệp của chúng tôi để trông như thế này:

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};

Sau khi lưu và làm mới, hãy thử nhập một số điều sau đây vào bảng điều khiển JavaScript trên trình duyệt của bạn DevTools:

person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()

Bây giờ bạn đã có một số dữ liệu và chức năng bên trong đối tượng của mình và hiện có thể truy cập chúng với một số cú pháp đơn giản đẹp!

Chuyện gì đang xảy ra ở đây vậy? Vâng, một đối tượng được tạo thành từ nhiều thành viên, mỗi thành viên có một tên (ví dụ:

[object Object]
Object { }
{ }
1 và
[object Object]
Object { }
{ }
2 ở trên) và một giá trị (ví dụ:
[object Object]
Object { }
{ }
3 và
[object Object]
Object { }
{ }
4). Mỗi cặp tên/giá trị phải được phân tách bằng dấu phẩy, và tên và giá trị trong mỗi trường hợp được phân tách bằng một dấu hai chấm. Cú pháp luôn tuân theo mẫu này:

const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};

Giá trị của một thành viên đối tượng có thể khá nhiều - trong đối tượng người của chúng tôi, chúng tôi có một số, một mảng và hai hàm. Hai mục đầu tiên là các mục dữ liệu và được gọi là thuộc tính của đối tượng. Hai mục cuối cùng là các hàm cho phép đối tượng thực hiện một cái gì đó với dữ liệu đó và được gọi là phương thức của đối tượng.properties. The last two items are functions that allow the object to do something with that data, and are referred to as the object's methods.

Khi các thành viên của đối tượng là chức năng, có một cú pháp đơn giản hơn. Thay vì

[object Object]
Object { }
{ }
5 chúng ta có thể viết
[object Object]
Object { }
{ }
6. Như thế này:

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio() {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf() {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};

Từ bây giờ, chúng tôi sẽ sử dụng cú pháp ngắn hơn này.

Một đối tượng như thế này được gọi là một đối tượng theo nghĩa đen - chúng ta đã viết ra nội dung đối tượng theo nghĩa đen khi chúng ta đến để tạo nó. Điều này khác với các đối tượng được khởi tạo từ các lớp, mà chúng ta sẽ xem xét sau này.object literal — we've literally written out the object contents as we've come to create it. This is different compared to objects instantiated from classes, which we'll look at later on.

Rất phổ biến để tạo một đối tượng bằng cách sử dụng một đối tượng theo nghĩa đen khi bạn muốn chuyển một loạt các mục dữ liệu có cấu trúc, liên quan theo cách nào đó, ví dụ: gửi yêu cầu đến máy chủ để đưa vào cơ sở dữ liệu. Gửi một đối tượng duy nhất hiệu quả hơn nhiều so với việc gửi một số mục riêng lẻ và làm việc với một mảng dễ dàng hơn, khi bạn muốn xác định các mục riêng lẻ theo tên.

Ký hiệu chấm

Ở trên, bạn đã truy cập các thuộc tính và phương thức của đối tượng bằng cách sử dụng ký hiệu DOT. Tên đối tượng (người) đóng vai trò là không gian tên - nó phải được nhập trước để truy cập bất cứ thứ gì bên trong đối tượng. Tiếp theo bạn viết một dấu chấm, sau đó mục bạn muốn truy cập - đây có thể là tên của một thuộc tính đơn giản, một mục của thuộc tính mảng hoặc cuộc gọi đến một trong các phương thức của đối tượng, ví dụ:dot notation. The object name (person) acts as the namespace — it must be entered first to access anything inside the object. Next you write a dot, then the item you want to access — this can be the name of a simple property, an item of an array property, or a call to one of the object's methods, for example:

Đối tượng là thuộc tính đối tượng

Một thuộc tính đối tượng có thể là một đối tượng. Ví dụ: thử thay đổi thành viên

[object Object]
Object { }
{ }
1 từ

const person = {
  name: ['Bob', 'Smith'],
};

đến

const person = {
  name: {
    first: 'Bob',
    last: 'Smith',
  },
  // …
};

Để truy cập các mục này, bạn chỉ cần xâu chuỗi bước thêm vào cuối với một dấu chấm khác. Hãy thử những thứ này trong bảng điều khiển JS:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
0

Nếu bạn làm điều này, bạn cũng sẽ cần phải thông qua mã phương thức của mình và thay đổi bất kỳ trường hợp nào của

đến

Để truy cập các mục này, bạn chỉ cần xâu chuỗi bước thêm vào cuối với một dấu chấm khác. Hãy thử những thứ này trong bảng điều khiển JS:

Nếu bạn làm điều này, bạn cũng sẽ cần phải thông qua mã phương thức của mình và thay đổi bất kỳ trường hợp nào của

Nếu không, phương pháp của bạn sẽ không còn hoạt động.

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
1

Ký hiệu khung

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
2

Ký hiệu khung cung cấp một cách khác để truy cập các thuộc tính đối tượng. Thay vì sử dụng ký hiệu DOT như thế này:associative arrays — they map strings to values in the same way that arrays map numbers to values.

Thay vào đó, bạn có thể sử dụng dấu ngoặc:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
3

Điều này trông rất giống với cách bạn truy cập các mục trong một mảng và về cơ bản nó giống như vậy - thay vì sử dụng một số chỉ mục để chọn một mục, bạn đang sử dụng tên được liên kết với giá trị của mỗi thành viên. Không có gì lạ khi các đối tượng đôi khi được gọi là mảng kết hợp - chúng ánh xạ các chuỗi đến các giá trị giống như cách các mảng số bản đồ đến các giá trị.

Ký hiệu DOT thường được ưa thích hơn ký hiệu khung vì nó ngắn gọn hơn và dễ đọc hơn. Tuy nhiên, có một số trường hợp bạn phải sử dụng dấu ngoặc. Ví dụ: nếu một tên thuộc tính đối tượng được xác định trong thời gian chạy thì bạn không thể sử dụng ký hiệu DOT để truy cập giá trị, nhưng bạn có thể chuyển tên dưới dạng biến bên trong dấu ngoặc như hiển thị với

[object Object]
Object { }
{ }
8 bên dưới:getting) object members — you can also set (update) the value of object members by declaring the member you want to set (using dot or bracket notation), like this:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
4

Thiết lập các thành viên đối tượng

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
5

Cho đến nay, chúng tôi chỉ xem xét các thành viên truy xuất (hoặc nhận) các thành viên đối tượng - bạn cũng có thể đặt (cập nhật) giá trị của các thành viên đối tượng bằng cách tuyên bố thành viên bạn muốn đặt (sử dụng ký hiệu DOT hoặc khung), như thế này:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
6

Bây giờ bạn có thể kiểm tra các thành viên mới của mình:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
7

Một khía cạnh hữu ích của ký hiệu khung là nó có thể được sử dụng để đặt không chỉ các giá trị thành viên một cách linh hoạt, mà cả tên thành viên. Giả sử chúng tôi muốn người dùng có thể lưu trữ các loại giá trị tùy chỉnh trong dữ liệu người của họ, bằng cách nhập tên thành viên và giá trị vào hai đầu vào văn bản. Chúng ta có thể nhận được những giá trị đó như thế này:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
8

Sau đó, chúng tôi có thể thêm tên và giá trị thành viên mới này vào đối tượng

[object Object]
Object { }
{ }
0 như thế này:

var a = new lines();
var testline = new aLine();
var testdot = new aDot();

testdot.height = 10;
testdot.length = 15;
testline.insertDot(0,testdot);
a.addLine(testline);
a.addLine(testline);
9

Để kiểm tra điều này, hãy thử thêm các dòng sau vào mã của bạn, ngay bên dưới khả năng đóng cửa của đối tượng

[object Object]
Object { }
{ }
0:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
0

Bây giờ hãy thử lưu và làm mới, và nhập phần sau vào đầu vào văn bản của bạn:

Thêm một thuộc tính vào một đối tượng bằng phương thức ở trên không thể có với ký hiệu DOT, chỉ có thể chấp nhận tên thành viên theo nghĩa đen, không phải là giá trị biến chỉ vào tên.

Cái này là cái gì"?

Bạn có thể nhận thấy một cái gì đó hơi lạ trong các phương pháp của chúng tôi. Nhìn vào cái này chẳng hạn:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
1

Bạn có thể đang tự hỏi "điều này" là gì. Từ khóa

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
1 đề cập đến đối tượng hiện tại mã đang được viết bên trong - vì vậy trong trường hợp này
const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
1 tương đương với
[object Object]
Object { }
{ }
0. Vậy tại sao không chỉ viết
[object Object]
Object { }
{ }
0 thay thế?

Chà, khi bạn chỉ phải tạo một đối tượng theo nghĩa đen, nó không hữu ích. Nhưng nếu bạn tạo nhiều hơn một,

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
1 cho phép bạn sử dụng cùng một định nghĩa phương thức cho mọi đối tượng bạn tạo.

Hãy minh họa những gì chúng ta muốn nói với một cặp đối tượng người đơn giản hóa:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
2

Trong trường hợp này,

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
6 xuất ra "Xin chào! Tôi là Chris.";
const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
7 Mặt khác, đầu ra "Xin chào! Tôi là Deepti.", Mặc dù mã của phương thức hoàn toàn giống nhau trong mỗi trường hợp. Điều này không cực kỳ hữu ích khi bạn viết ra các chữ cái bằng tay, nhưng nó sẽ rất cần thiết khi chúng ta bắt đầu sử dụng các hàm tạo để tạo nhiều hơn một đối tượng từ một định nghĩa đối tượng và đó là chủ đề của phần tiếp theo.constructors to create more than one object from a single object definition, and that's the subject of the next section.

Giới thiệu các nhà xây dựng

Sử dụng các chữ cái đối tượng là tốt khi bạn chỉ cần tạo một đối tượng, nhưng nếu bạn phải tạo nhiều hơn một, như trong phần trước, chúng không đủ nghiêm trọng. Chúng ta phải viết ra cùng một mã cho mọi đối tượng chúng ta tạo và nếu chúng ta muốn thay đổi một số thuộc tính của đối tượng - như thêm thuộc tính

const person = {
  name: ['Bob', 'Smith'],
  age: 32,
  bio: function () {
    console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
  },
  introduceSelf: function () {
    console.log(`Hi! I'm ${this.name[0]}.`);
  }
};
8 - thì chúng ta phải nhớ cập nhật mọi đối tượng.

Chúng tôi muốn một cách để xác định "hình dạng" của một đối tượng - tập hợp các phương thức và các thuộc tính mà nó có thể có - và sau đó tạo bao nhiêu đối tượng tùy thích, chỉ cần cập nhật các giá trị cho các thuộc tính khác nhau.

Phiên bản đầu tiên của điều này chỉ là một chức năng:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
3

Hàm này tạo và trả về một đối tượng mới mỗi khi chúng ta gọi nó. Đối tượng sẽ có hai thành viên:

  • một tài sản
    [object Object]
    Object { }
    { }
    
    1
  • một phương pháp
    person.name
    person.name[0]
    person.age
    person.bio()
    person.introduceSelf()
    
    0.

Lưu ý rằng

person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
1 có tham số
[object Object]
Object { }
{ }
1 để đặt giá trị của thuộc tính
[object Object]
Object { }
{ }
1, nhưng giá trị của phương thức
person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
0 sẽ giống nhau cho tất cả các đối tượng được tạo bằng hàm này. Đây là một mô hình rất phổ biến để tạo các đối tượng.

Bây giờ chúng ta có thể tạo bao nhiêu đối tượng tùy thích, tái sử dụng định nghĩa:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
4

Điều này hoạt động tốt nhưng có một chút dài dòng: chúng ta phải tạo một đối tượng trống, khởi tạo nó và trả về nó. Một cách tốt hơn là sử dụng một hàm tạo. Một hàm tạo chỉ là một hàm được gọi là từ khóa

person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
5. Khi bạn gọi một hàm tạo, nó sẽ:constructor. A constructor is just a function called using the
person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
5 keyword. When you call a constructor, it will:

  • Tạo một đối tượng mới
  • Liên kết
    const person = {
      name: ['Bob', 'Smith'],
      age: 32,
      bio: function () {
        console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
      },
      introduceSelf: function () {
        console.log(`Hi! I'm ${this.name[0]}.`);
      }
    };
    
    1 với đối tượng mới, vì vậy bạn có thể tham khảo
    const person = {
      name: ['Bob', 'Smith'],
      age: 32,
      bio: function () {
        console.log(`${this.name[0]} ${this.name[1]} is ${this.age} years old.`);
      },
      introduceSelf: function () {
        console.log(`Hi! I'm ${this.name[0]}.`);
      }
    };
    
    1 trong mã constructor của mình
  • Chạy mã trong hàm tạo
  • Trả về đối tượng mới.

Các hàm tạo, theo quy ước, bắt đầu bằng một chữ cái viết hoa và được đặt tên cho loại đối tượng họ tạo. Vì vậy, chúng tôi có thể viết lại ví dụ của mình như thế này:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
5

Để gọi

person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
8 là một hàm tạo, chúng tôi sử dụng
person.name
person.name[0]
person.age
person.bio()
person.introduceSelf()
5:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
6

Bạn đã sử dụng các đối tượng cùng

Khi bạn đã trải qua những ví dụ này, có lẽ bạn đã nghĩ rằng ký hiệu dấu chấm mà bạn đang sử dụng rất quen thuộc. Đó là bởi vì bạn đã sử dụng nó trong suốt khóa học! Mỗi khi chúng tôi đã làm việc thông qua một ví dụ sử dụng API trình duyệt tích hợp hoặc đối tượng JavaScript, chúng tôi đã sử dụng các đối tượng, bởi vì các tính năng như vậy được xây dựng bằng cách sử dụng chính xác cùng loại cấu trúc đối tượng mà chúng tôi đã xem xét ở đây , mặc dù những cái phức tạp hơn trong các ví dụ tùy chỉnh cơ bản của chúng ta.

Vì vậy, khi bạn đã sử dụng các phương thức chuỗi như:

Bạn đã sử dụng một phương thức có sẵn trên đối tượng

const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
0. Mỗi khi bạn tạo một chuỗi trong mã của mình, chuỗi đó sẽ tự động được tạo dưới dạng một thể hiện
const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
0 và do đó có một số phương thức và thuộc tính phổ biến có sẵn trên đó.

Khi bạn truy cập mô hình đối tượng tài liệu bằng cách sử dụng các dòng như thế này:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
7

Bạn đã sử dụng các phương thức có sẵn trên một đối tượng

const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
2. Đối với mỗi trang web được tải, một thể hiện của
const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
2 được tạo, được gọi là
const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
4, đại diện cho toàn bộ cấu trúc, nội dung và các tính năng khác của trang như URL của nó. Một lần nữa, điều này có nghĩa là nó có một số phương pháp và thuộc tính phổ biến có sẵn trên đó.

Điều tương tự cũng đúng với khá nhiều đối tượng hoặc API tích hợp khác mà bạn đã sử dụng-

const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
5,
const objectName = {
  member1Name: member1Value,
  member2Name: member2Value,
  member3Name: member3Value
};
6, v.v.

Lưu ý rằng được tích hợp trong các đối tượng và API không luôn tự động tạo các phiên bản đối tượng. Ví dụ, API thông báo - cho phép trình duyệt hiện đại thông báo hệ thống hỏa hoạn - yêu cầu bạn khởi tạo một thể hiện đối tượng mới bằng cách sử dụng hàm tạo cho mỗi thông báo bạn muốn bắn. Hãy thử nhập phần sau vào bảng điều khiển JavaScript của bạn:

post = "name=" + name + "&tab=" + JSON.stringify(file);
req.open("POST", "saveFile.php", true);
req.send(post);
8

Kiểm tra kỹ năng của bạn!

Bạn đã đạt đến cuối bài viết này, nhưng bạn có thể nhớ thông tin quan trọng nhất không? Bạn có thể tìm thấy một số bài kiểm tra tiếp theo để xác minh rằng bạn đã giữ lại thông tin này trước khi bạn tiếp tục - xem Kiểm tra kỹ năng của bạn: Khái niệm cơ bản đối tượng.

Bản tóm tắt

Xin chúc mừng, bạn đã đạt đến cuối bài viết của các đối tượng JS đầu tiên của chúng tôi - giờ đây bạn nên có một ý tưởng tốt về cách làm việc với các đối tượng trong JavaScript - bao gồm tạo các đối tượng đơn giản của riêng bạn. Bạn cũng nên đánh giá cao rằng các đối tượng rất hữu ích vì các cấu trúc để lưu trữ dữ liệu và chức năng liên quan - nếu bạn cố gắng theo dõi tất cả các thuộc tính và phương thức trong đối tượng

[object Object]
Object { }
{ }
0 của chúng tôi dưới dạng các biến và chức năng riêng biệt, nó sẽ không hiệu quả và bực bội, và chúng tôi ' D có nguy cơ đụng độ với các biến và hàm khác có cùng tên. Các đối tượng cho phép chúng tôi giữ thông tin được khóa an toàn trong gói của riêng họ, không có hại.

Trong bài viết tiếp theo, chúng ta sẽ xem xét các nguyên mẫu, đó là cách cơ bản mà JavaScript cho phép một đối tượng kế thừa các thuộc tính từ các đối tượng khác.prototypes, which is the fundamental way that JavaScript lets an object inherit properties from other objects.

  • Tổng quan: Đối tượng
  • Tiếp theo

Trong mô -đun này

Làm thế nào để bạn sao chép một đối tượng trong JavaScript?

Để sao chép một đối tượng trong JavaScript, bạn có ba tùy chọn:..
Sử dụng cú pháp lây lan (...) ..
Sử dụng đối tượng. Phương thức gán () ..
Sử dụng JSON. Stringify () và JSON. Phương pháp Parse () ..

Đối tượng đối tượng trong JavaScript là gì?

Loại đối tượng đại diện cho một trong các loại dữ liệu của JavaScript. Nó được sử dụng để lưu trữ các bộ sưu tập khóa khác nhau và các thực thể phức tạp hơn. Các đối tượng có thể được tạo bằng hàm tạo đối tượng () hoặc trình tạo khởi đầu đối tượng / cú pháp theo nghĩa đen.represents one of JavaScript's data types. It is used to store various keyed collections and more complex entities. Objects can be created using the Object() constructor or the object initializer / literal syntax.

Mọi thứ trong JavaScript có phải là một đối tượng không?

Gần như mọi thứ trong JavaScript là một đối tượng không phải là sáu thứ không phải là đối tượng - null, không xác định, chuỗi, số, boolean và biểu tượng.Chúng được gọi là giá trị nguyên thủy hoặc các loại nguyên thủy. other than six things that are not objects which are — null , undefined , strings, numbers, boolean, and symbols. These are called primitive values or primitive types.

Đối tượng đơn giản trong JavaScript là gì?

Đối tượng đơn giản, nói cách khác, là một đối tượng đối tượng.Nó được chỉ định là "đơn giản" trong tài liệu jQuery để phân biệt nó với các loại đối tượng JavaScript khác: ví dụ: null, mảng do người dùng xác định và các đối tượng máy chủ như tài liệu, tất cả đều có giá trị loại "đối tượng".an Object object. It is designated "plain" in jQuery documentation to distinguish it from other kinds of JavaScript objects: for example, null, user-defined arrays, and host objects such as document, all of which have a typeof value of "object."