Javascript Mootools正在向JSON结果添加不需要的函数调用

Javascript Mootools正在向JSON结果添加不需要的函数调用,javascript,jquery,asp.net,ajax,mootools,Javascript,Jquery,Asp.net,Ajax,Mootools,我有一个函数,可以在asp.net页面中获取车辆列表 function GetVehicleCounts(totalVehicles, vehiclesInDepot, vehiclesInFilter, vehiclesInKnownLocations, vehiclesInUnknownLocations, vehiclesNotInDepot) { vehiclesInDepot.value = 0; vehiclesInFilter.value = 0; vehicle

我有一个函数,可以在asp.net页面中获取车辆列表

 function GetVehicleCounts(totalVehicles, vehiclesInDepot, vehiclesInFilter,         vehiclesInKnownLocations, vehiclesInUnknownLocations, vehiclesNotInDepot)
{
vehiclesInDepot.value = 0;
vehiclesInFilter.value = 0;
vehiclesInKnownLocations.value = 0;
vehiclesInUnknownLocations.value = 0;
vehiclesNotInDepot.value = 0;
var listofVehicles;
var count = 0;

for (var k in vehicles_dm) {
    vehiclesInDepot.value++;

    if (vehicles_dm[k].IsInFilter) {
        vehiclesInFilter.value++;
    }

    if (vehicles_dm[k].CurrentFeatureType == 11) {
        vehiclesInUnknownLocations.value++;            
    }
    else {
        vehiclesInKnownLocations.value++;
    }
}

if (vehicles_dm != null) {
    vehiclesNotInDepot.value = totalVehicles - vehicles_dm.length;
}
}

然而,当我将Mootools添加到页面时,我遇到了Mootools将所有函数调用添加到结果中的问题。对于任何类似的函数,这都会被重复。有什么改正的办法吗

我没有选择使用Mootools,现有页面是在jQuery中完成的。

我找到了答案

'for..in不适用于数组迭代。它迭代对象的所有非内置属性。由于MooTools向Array prototype添加了更多函数,因此它们现在也是数组属性。看到这个了吗

只需在数组迭代中使用基本for循环即可


“将所有函数调用添加到结果中”-这毫无意义,请详细说明正在添加哪些函数调用?为什么在第一个函数定义的末尾有撇号?它使第二个函数成为字符串。这是一个打字错误还是在你的js文件中?而且
GetVehiclesCallback
也不会调用
GetVehicles\u Callback
…哦,那只是垃圾。mootools不会为您的函数添加任何内容。但mootools是典型的。这意味着,您的代码正在做一些不合理的事情,例如
for(var in[])
没有
hasOwnProperty
检查等。发布实际代码和异常,甚至部分响应以及包装器。即使您包含mootools,它也不会改变函数原型(除了polyfill.bind等),而且它肯定不会修饰任何现有函数
this.GetAllVehicleID
->this.ServiceUrl的内部引用没有绑定-这不是您的完整代码,是吗?正如我在评论中所说的-您正在为
中的var执行