我确实已经意识到这已被问过,但我无法找到问题的确切答案。
我试图在JavaScript中重新创建一个对象。原始对象如下所示:
Stock {
Id: 'a0236000374782',
Product { Name: 'Gum',
Price: 2.49
}
}
当我尝试重新创建stock对象时,我已经拥有了第一个值Id,并且我试图以某种方式将Product对象推入其中。这就是我的尝试:
var Product = {};
Stock.Product.Name = 'Gum';
然而,这返回我无法设置未定义的属性Name。 我也尝试过:
var Product = {};
stock = {Product.Name : 'Gum'};
这将返回" Uncaught SyntaxError:Unexpected token"。"。我无法弄清楚我做得不对。
答案 0 :(得分:2)
不确定你在问什么,但我认为你想要这样的东西
var Stock = {
Id: 'asdasdasd',
Product: {
Name: 'Gum',
Price: '2.49'
}
};
或者
var Stock = {
Id: 'asdasdasd'
}
var Product = {
Name: 'Gum',
Price: '2.49'
}
Stock.Product = Product;
答案 1 :(得分:2)
您可以在JavaScript中轻松创建对象。
假设您已经定义了类似的股票:
var stock = { id: '1234' };
然后您可以按如下方式分配产品:
stock.product = { name: 'Gum', price: 2.49 };
这与此相同:
var product = { name: 'Gum', price: 2.49 };
stock.product = product;
但是您无法将属性分配给尚未创建的对象。所以这是不可能的:
stock.uncreatedObject.myProp = 'Will not work';
但这是可能的:
stock.createdObject = {};
stock.createdObject.myProp = 'This will work';
这相当于:
stock.createdObject = { myProp: 'Will Work' };
答案 2 :(得分:1)
您最初可以创建对象Product
var Product = {Name: "", Price: ""};
然后将其添加到对象Stock
:
var Stock = {Id: "", Product};