Nếu bạn biết các cài đặt trước, bạn có thể xác định nó trong một câu lệnh:
var defaultsettings = {
ajaxsettings : { "ak1" : "v1", "ak2" : "v2", etc. },
uisettings : { "ui1" : "v1", "ui22" : "v2", etc }
};
Nếu bạn không biết trước các giá trị, bạn chỉ có thể xác định đối tượng cấp cao nhất và sau đó thêm thuộc tính:
var defaultsettings = { };
defaultsettings["ajaxsettings"] = {};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
Hoặc nửa đường giữa hai, xác định mức cao nhất với các đối tượng trống lồng nhau là thuộc tính và sau đó thêm các thuộc tính vào các đối tượng lồng nhau đó:
var defaultsettings = {
ajaxsettings : { },
uisettings : { }
};
defaultsettings["ajaxsettings"]["somekey"] = "some value";
defaultsettings["uisettings"]["somekey"] = "some value";
Bạn có thể làm tổ sâu như bạn muốn sử dụng các kỹ thuật trên và bất cứ nơi nào bạn có một chuỗi theo nghĩa đen trong ngoặc vuông, bạn có thể sử dụng một biến:
var keyname = "ajaxsettings";
var defaultsettings = {};
defaultsettings[keyname] = {};
defaultsettings[keyname]["some key"] = "some value";
Lưu ý rằng bạn không thể sử dụng các biến cho tên khóa trong cú pháp nghĩa đen {}.
Định nghĩa cơ bản của một đối tượng trong JavaScript là một thùng chứa cho & nbsp; được đặt tên là giá trị & nbsp; được gọi là thuộc tính [khóa]. Đôi khi, chúng ta cần tạo một đối tượng bên trong một đối tượng khác. Trong trường hợp này, nó được gọi là một đối tượng lồng nhau. Hầu hết, chúng ta cần tạo nó một cách linh hoạt. Tạo động của một đối tượng có nghĩa là chúng ta không biết các thuộc tính của đối tượng khi chúng ta khởi tạo nó.
Trong ES6, các đối tượng có thể được tạo với các thuộc tính được tính toán. Để sử dụng khóa "động", bạn phải sử dụng & NBSP; ký hiệu khung:bracket notation: