Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.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 dojo中创建对象时属性值意外变为数组_Javascript_Dojo - Fatal编程技术网

在javascript dojo中创建对象时属性值意外变为数组

在javascript dojo中创建对象时属性值意外变为数组,javascript,dojo,Javascript,Dojo,我的dojo类中有以下函数: dojo.declare("someclass", null, { getSomeObject: function(id, name, description) { console.log("id=", id, ", name=", name, ", description=", description); var newObj = { "id": id, "name": na

我的dojo类中有以下函数:

dojo.declare("someclass", null, {

    getSomeObject: function(id, name, description) {
        console.log("id=", id, ", name=", name, ", description=", description);
        var newObj = {
            "id": id,
            "name": name,
            "description": description
        };
        console.log("newObj=", newObj);
        return newObj;
    }

});
在我升级我正在开发的产品之前,这一切都很好。当我现在运行代码时,不知何故,在“newObj”内部,所有属性值都转换为数组-即,当“123”作为id值传递给函数时,在newObj内部,“id”属性值为[“123”]

我尝试过使用不同的方法来创建对象-使用“newobject()”等等。似乎没有任何帮助。当我在旧产品中运行相同的代码时,它会按预期工作

这是谷歌浏览器控制台的输出--


有什么帮助吗?

我想您使用的是
ItemFileReadStore
ItemFileWriteStore
。 这是绝对正常的,这些存储在内部使用阵列。 要获取该值,应按照文档中的建议执行:

 store.getValue(storeItem, "property");

或者,如果您确定propery中表示的值,您可以通过执行
+”

安全地进行类型转换。请显示调用该函数的实际控制台输出。对象不只是自己变成数组。我用控制台输出更新了上面的问题。好吧,这很奇怪。
\u RI
属性的存在意味着Dojo在控制台日志展开之前就已经控制了您的对象。不过,扩展对象在控制台中显示其当前状态并非未知,而不是日志记录时的状态。尝试直接记录
newObj.id
,而不是整个
newObj
\u RI
的存在仅仅意味着他已经记录了他商店物品的
\u Root\u项目
 store.getValue(storeItem, "property");