实例冲突- JSON对象
Instances Conflicting - JSON objects
我做得不对。
试图创建我的json模型模板文件的数据模型的2个实例,并使用它们,但我显然没有得到模型的2个不同的实例。
myModel.json
{
"id": null
}
myNodeModule.js
var myModel = require('../../entities/myModel');
module.exports = {
find: function *(id){
var myModelInstance1 = myModel;
myModelInstance1.id = 1;
var myModelInstance12 = myModel;
myModelInstance12.id = 2;
found.push(myModelInstance11);
found.push(myModelInstance12);
console.log("id: " + found[0].id);
}
问题:它记录"2",因为某种原因它应用了myModel1的最后初始化。
那么如何创建myModel.json的2个单独的对象实例呢?
创建一个函数,它返回对象并调用它。
function myModelFact(){
return {
"id": null
}
}
问题是需要一个JSON文档创建一个对象实例,但是返回对该实例的引用(对象是通过引用传递/分配的)。这意味着,当你把myModel
,这个对象的引用赋值给另一个变量时,你实际上是在给同一个对象赋值一个指针。因此,如果您修改了引用,单个实例就会发生变化,并且该变化会反映到对该实例的所有引用上。
试试这样:
function _getModelInstance() {
return require('../../entities/myModel');
}
module.exports = {
find: function(id){
var myModelInstance1 = _getModelInstance();
myModelInstance1.id = 1;
var myModelInstance12 = _getModelInstance();
myModelInstance12.id = 2;
found.push(myModelInstance11);
found.push(myModelInstance12);
console.log("id: " + found[0].id);
}
此代码将根据需要从JSON文档创建对象的新实例。
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 用javascript从列表对象(JSON的)构建diffrent选项卡
- php请求带有多个对象json-jquery
- AngularJS,过滤器:如何将一个巨大的对象(JSON)变成一个数组
- 动态属性对象 - JSON
- JavaScript 对象 (JSON) 中的动态设置值
- 从数组查询获取对象 JSON 值时出错
- 使用jQuerygetJSON将多维对象JSON转换为HTML
- 需要从 Angular JS 应用程序中的另一个 JSON 对象数组填充 JSON 数组的每个对象 JSON 对象数组
- 嵌套对象JSON排序JavaScript
- PHP在MySQL中保存来自Javascript的对象"JSON.stringify"通过Ajax
- 将JavaScript对象/ JSON转换为PHP数组
- JSON对象.JSON对象内部
- 访问对象的对象- JSON API
- 数组到对象JSON
- Message":"传入的无效对象(JSON数据格式化问题)