Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript—将对象添加到对象中_Javascript_Object - Fatal编程技术网

JavaScript—将对象添加到对象中

JavaScript—将对象添加到对象中,javascript,object,Javascript,Object,我知道以前有人问过这个问题,但我找不到我问题的确切答案 我正在尝试用JavaScript重新创建一个对象。原始对象如下所示: Stock { Id: 'a0236000374782', Product { Name: 'Gum', Price: 2.49 } } var stock = { id: '1234' }; 当我尝试重新创建stock对象时,我已经在其中有了第一个值Id,并且我试图以某种方式将Product对象也推到其中。

我知道以前有人问过这个问题,但我找不到我问题的确切答案

我正在尝试用JavaScript重新创建一个对象。原始对象如下所示:

Stock {
   Id: 'a0236000374782',
   Product { Name: 'Gum',
             Price: 2.49
           }
}
var stock = { id: '1234' };
当我尝试重新创建stock对象时,我已经在其中有了第一个值Id,并且我试图以某种方式将Product对象也推到其中。以下是我的尝试:

var Product = {};
Stock.Product.Name = 'Gum';
但是,这返回的结果是,我无法将属性名设置为未定义。 我还尝试:

var Product = {};
stock = {Product.Name : 'Gum'};

这返回“Uncaught SyntaxError:Unexpected token.”。我不知道我做得有什么不对。

不知道你在问什么,但我想你想要这样的东西

var Stock = {
    Id: 'asdasdasd',
    Product: {
       Name: 'Gum',
       Price: '2.49'
    }
};


不知道你在问什么,但我想你想要这样的东西

var Stock = {
    Id: 'asdasdasd',
    Product: {
       Name: 'Gum',
       Price: '2.49'
    }
};


您可以很容易地在JavaScript中创建对象

假设您已经定义了股票,如下所示:

Stock {
   Id: 'a0236000374782',
   Product { Name: 'Gum',
             Price: 2.49
           }
}
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.uncreatedObject.myProp = 'Will not work'; 
stock.createdObject = {};
stock.createdObject.myProp = 'This will work';
这相当于:

stock.createdObject = { myProp: 'Will Work' };

您可以很容易地在JavaScript中创建对象

假设您已经定义了股票,如下所示:

Stock {
   Id: 'a0236000374782',
   Product { Name: 'Gum',
             Price: 2.49
           }
}
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.uncreatedObject.myProp = 'Will not work'; 
stock.createdObject = {};
stock.createdObject.myProp = 'This will work';
这相当于:

stock.createdObject = { myProp: 'Will Work' };

您可以首先创建对象
产品

var-Product={Name:,Price:};

然后将其添加到对象
股票


var Stock={Id:,Product};

您可以首先创建对象
Product

var-Product={Name:,Price:};

然后将其添加到对象
股票


var Stock={Id:”,Product};

Product{
您缺少
这里。
Product{
您缺少
这里。尽管您似乎“猜到了”“没错,我仍然想知道,当你不知道问题是什么的时候,为什么你会回答一些问题。=]@AtheistP3ace通过他的代码不难理解他的意图,只是不完全理解他提问的方式,而且标题也很清楚,尽管你似乎“猜到了”正确地说,我仍然想知道,当你不知道问题是什么的时候,为什么你会回答一些问题。=]@AtheistP3ace通过他的代码不难理解他的意图,只是不完全理解他提问的方式,而且标题也很清楚。谢谢,这很有效!我不明白为什么Stock.Product.Name='Gum';是这样的但不起作用。这不是一回事吗?不,因为还没有定义产品。我将扩展我的答案。但是使用var product={};非常感谢您的所有澄清!这太棒了!谢谢,这很有效!我不明白为什么Stock.Product.Name='Gum';不起作用。这不是一回事吗?不,因为产品还没有定义。我将扩展我的答案。但是使用var Product={};非常感谢您所做的所有澄清!这真是太棒了!