Объекты JavaScript1 не упорядочены. Бесполезно пытаться «сортировать» их. Если вы хотите перебрать свойства объекта, вы можете отсортировать ключи, а затем получить связанные значения:
var myObj = {
'b': 'asdsadfd',
'c': 'masdasaf',
'a': 'dsfdsfsdf'
},
keys = [],
k, i, len;
for (k in myObj) {
if (myObj.hasOwnProperty(k)) {
keys.push(k);
}
}
keys.sort();
len = keys.length;
for (i = 0; i < len; i++) {
k = keys[i];
alert(k + ':' + myObj[k]);
}
Alternate Object.keys
fanciness:
var myObj = {
'b': 'asdsadfd',
'c': 'masdasaf',
'a': 'dsfdsfsdf'
},
keys = Object.keys(myObj),
i, len = keys.length;
keys.sort();
for (i = 0; i < len; i++) {
k = keys[i];
alert(k + ':' + myObj[k]);
}
1Не быть педантичным, но нет объекта JSON .
Необходимо попробовать детектор Утечки памяти JavaScript, разработанный внутренне в Microsoft.
Ну, Ваш лучший выбор состоит в том, чтобы понять то, что вызывает их, таким образом, можно критически посмотреть код, определить шаблоны, которые могут вызвать утечку, и затем избежать или осуществить рефакторинг вокруг них.
Вот несколько ссылок для запущения Вас, оба очень информативные:
Просто помните, что утечки памяти действительно о Вас не моющийся после себя. Все, в чем Вы нуждаетесь, является небольшой организацией.
В прошлом я создал свой собственный объект прокси для присоединения событий к элементам DOM. Это использует мой API библиотеки JavaScript, чтобы на самом деле установить и удалить события. Сам прокси просто отслеживает все ссылки так, чтобы я мог звонить, метод на нем, чтобы иметь его очищают все мои потенциальные утечки памяти.
В моих целях я смог просто назвать единственный deconstructor на странице, которая очистит утечки для всей страницы, когда пользователь оставлял страницу.
Вам, вероятно, придется быть более детализировано, но техника является тем же.