2016-10-21 53 views
0

我確信我的控制檯具有該值的對象。 代碼列表如下。爲什麼我console.log一個對象,它顯示對象,但是當我控制Object.value時,它顯示未定義

addLoadEvent(function(){ 
    console.log(toObj(1));   //shows an object; 
    console.log(toObj(1).name);  //shows undefined; 
    function toObj(name){ 
     var source_json = getCookie(name); 
     return JSON.parse(source_json); 
    } 
    function getCookie(name){ 
     var arr,reg=new RegExp("(^|)"+name+"=([^;]*)(;|$)"); 
     if(arr=document.cookie.match(reg)) 
     return unescape(arr[2]); 
     else 
     return null; 
    } 
}) 

What Console Showed

the object

+0

如果你這樣做obj [0] .name – krasipenkov

+2

在開始處的方括號表示你的'toObj(1)'返回一個數組。你嘗試過'toObj(1)[0] .name'嗎? – Phil

+0

@krasipenkov但它不是一個數組.... – legend

回答

1

嘗試

console.log(toObj(1)[0].name); 

我覺得你Object實際上是一個數組;

+0

是的,它是一個數組。 – legend

-1

試試這個看對象的所有屬性:

for(var key in toObj(1)){ 
    console.log(key+': '+toObj(1)[key]); 
} 

您也可以嘗試toObj(1)['name']得到的名稱。

+0

您的第一段代碼應該將第一次調用的結果存儲到'toObj()',否則結果可能會在隨後的調用中有所不同。另外,'toObj(1).name'和'toObj(1)['name']' – Phil

+0

之間絕對沒有區別,沒有區別。這就是爲什麼我建議這個代碼。 :) – Marcus

+0

@Glufu toObj(1)['name']顯示未定義, – legend

相關問題