簡體   English   中英

在JavaScript Dojo中創建對象時屬性值意外地變成數組

[英]Attribute value turning into array unexpectedly when creating object in 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": name,
            "description": description
        };
        console.log("newObj=", newObj);
        return newObj;
    }

});

直到我升級正在使用的產品之前,一切都很好。 現在,我以某種方式在“ newObj”內部運行代碼時,所有屬性值都轉換為數組-即,當將“ 123”作為id值傳遞給函數時,在newObj內,“ id”屬性值為[“ 123”]。

我嘗試使用不同的方式來創建對象-使用“ new Object()”等。似乎沒有任何幫助。 當我在舊產品中運行相同的代碼時,它可以按預期工作!!!

這是Google Chrome控制台的輸出-

id= 5962960 , name= sng2 , description= test
newObj= 
Object
_RI: true
description: Array[1]
id: Array[1]
name: Array[1]
__proto__: Object

有幫助嗎???

我想您正在使用ItemFileReadStoreItemFileWriteStore 那么這是絕對正常的,這些存儲在內部可以處理數組。 要獲取值,您應該按照文檔中的建議進行操作:

 store.getValue(storeItem, "property");

或者,如果您確定該值可以正確表示,則可以通過執行+ ""來安全地鍵入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM