Tôi muốn tạo đối tượng Javascript với các biến lồng nhau trong đó một số biến sẽ không có giá trị mặc định được chỉ định.Khai báo các biến không có giá trị
Tôi hiện có này:
var globalVarA = "foo";
var globalVarB = "bar";
var globalVarC;
function myFunction(){
//do something
}
tôi muốn thay đổi điều này để:
var myObject = {
GlobalVars: {
globalVarA: "foo",
globalVarB: "bar",
globalVarC
},
myFunction: function(){
//do something
}
}
Tuy nhiên tôi nhận được lỗi sau:
Expected ':'
Làm thế nào tôi có thể khai báo biến này không có giá trị?
Đây có phải là phương pháp hay nhất hoặc có giải pháp thay thế tốt hơn không?
Chỉ trên ghi chú bên. Điều gì sẽ là nhược điểm để không tuyên bố 'globalVarC' ở tất cả cho đến khi nó được yêu cầu? Vì bạn có thể đặt 'GlobalVars.globalVarC =" bất cứ điều gì "; ' ngay cả khi nó không được khai báo. –
@TimBJames là một câu hỏi tuyệt vời. Ví dụ, sự khác biệt có thể được thể hiện trong một kiểm tra 'hasOwnProperty'. Cá nhân, nếu nó chỉ để sử dụng trong hàm đó, trong mã của riêng tôi, tôi sẽ làm 'GlobalVars.globalVarC' thay vì thiết lập rõ ràng nó thành undefined. –
Vâng tôi có lẽ sẽ đi với cũng, bởi vì nếu bạn đang kiểm tra sự tồn tại của biến, bạn sẽ kiểm tra 'if (GlobalVars.globalVarC! = undefined) 'đó sẽ là trường hợp một trong hai cách. –