Javascript对象返回垃圾值

时间:2012-09-05 15:42:32

标签: javascript mootools

我正在尝试为javascript对象赋值,当这样做时,一些垃圾值最终会出现在像'push','pop','splice'等数组方法中。以下是我的代码

function myTest(){
var userArray = new Object();
var req = new Request.JSON({
url: '/myTest.php',
method: 'post',
noCache: true,
data: 'userID=999',

onSuccess: function(json){       
    for(var key in json){
      userArray = json[key];
      for (var row in userArray){
        alert(row)   // This returns values like '$family','push','pop', 'reverse' etc.
        }
    }
},
onException: function(xhr){
  alert("Unable to process your request");
},
onFailure: function(xhr){
  alert("Unable to connect to the server");
}
}).send();
}

我不确定我在这里缺少什么,但看起来我当然是。对此的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

永远不要在数组中使用... in。期。您看到的垃圾值是数组原型的属性。

请参阅此related question

答案 1 :(得分:1)

for (var row in userArray){
        if(userArray.hasOwnProperty(row))
           alert(row) ;  
        }

详情here。基本上,for循环将采用所有可用的属性/功能。并且您必须检查它是仅属于该对象还是继承。