Просто первый не будет работать, потому что Вы воздействуете на копию значения.
Вы могли сделать что-то как
private int DoSomething(ref int value)
{
value++;
}
и назвать его как
DoSomething(ref value);
, Это изменяет значение, которое будет передано в ссылкой. Но действительно единственная причина сделать это - то, если Вы хотите возвратить больше чем одну вещь из своей функции. И обычно существуют лучшие пути.
Для дополнительного бонусного знания, существует также ключевое слово, которое подобно касательно, но не требует, чтобы значение было инициализировано сначала.
Вы можете также используйте функцию $. each :
var obj = { one:1, two:2, three:3, four:4, five:5 };
$.each(obj, function(key, value) {
//..
});
Если вы выберете способ for ... in
, я бы рекомендовал вам проверить, находится ли свойство непосредственно на объекте повторяется, потому что могут возникнуть некоторые проблемы , если объект Object. прототип расширен:
for(var key in obj) {
if (obj.hasOwnProperty(key)){
// value = obj[key];
}
}
for (var key in json) {
// ...
}
(это стандартный javascript, а не jQuery-specific)
В вашем случае это вообще не массив! Вы хотите перебирать свойства объекта.
JavaScript также не поддерживает ассоциативные массивы ... см. http://www.hunlock.com/blogs/Mastering_Javascript_Arrays
Ответ Зеда идеален, я добавит
alert(json[key]);
внутри for, если вам интересно, как получить значение свойства
Спасибо