Достаточно простой:
for(var propertyName in myObject) {
// propertyName is what you want
// you can get the value like this: myObject[propertyName]
}
Теперь, Вы не получите частные переменные этот путь, потому что они не доступны.
РЕДАКТИРОВАНИЕ: @bitwiseplatypus корректен, что, если Вы не используете hasOwnProperty()
метод, Вы получите свойства, которые наследованы - однако, я не знаю, почему любой знакомый с объектно-ориентированным программированием ожидал бы что-либо меньше! Как правило, кто-то, который поднимает это, был подвергнут предупреждениям Douglas Crockford об этом, которые все еще смущают меня немного. Снова, наследование является нормальной частью языков OO и является поэтому частью JavaScript, несмотря на него являющийся формирующим прототип.
Теперь, однако hasOwnProperty()
полезны для фильтрации, но мы не должны звучать как предупреждение, как будто существует что-то опасное в получении унаследованных свойств.
РЕДАКТИРОВАНИЕ 2: @bitwiseplatypus поднимает ситуацию, которая произошла бы, должен кто-то добавить свойства/методы к Вашим объектам в моменте времени позже чем тогда, когда Вы первоначально записали свои объекты (через его прототип) - в то время как это верно, что это могло бы вызвать неожиданное поведение, я лично не рассматриваю что как свою проблему полностью. Просто дело вкуса. Кроме того, что, если я разрабатываю вещи таким способом, которым я использую прототипы во время конструкции моих объектов и все же имею код, который выполняет итерации по свойствам объекта и я хочу все унаследованные свойства? Я не использовал бы hasOwnProperty()
. Затем скажем, кто-то добавляет новые свойства позже. Тот мой отказ то, если вещи ведут себя плохо в той точке? Я не думаю так. Я думаю, что это - то, почему jQuery, как пример, определил способы расшириться, как он работает (через jQuery.extend
и jQuery.fn.extend
).
В книге Повышение производительности и масштабируемости приложений .NET есть глава Повышение производительности ASP.NET , которую, возможно, стоит прочитать. Полная книга находится на сайте MSDN, а также доступна в виде PDF-файла для загрузки .
старайтесь избегать ненужных обратных передач на страницы, есть много функций, которые вы можете реализовать с помощью таких вещей, как jQuery или ExtJs framework. Узнайте, как выполнять вызовы AJAX и передавать информацию между вашим приложением и сервером через наборы результатов JSON.
Кроме того, установите такие приложения, как FireBug и YSlow, и используйте их для анализа вашего приложения и следуйте их рекомендациям по ускорению вашего приложения. Удачи!
10 советов по написанию высокопроизводительных веб-приложений
20 советов по повышению производительности приложений ASP.net
Пока
Вот отрывок из книги, которую написали Джефф, Фил и К. Скотт Аллен: 8 советов по производительности ASP.NET . Ему несколько лет, но по большей части он неподвластен времени.
Мой контрольный список:
Используйте профилировщик .NET CLR, чтобы определить, где оптимизация будет полезна.
Я написал об этом книгу, которая только что была выпущена, под названием Сверхбыстрый ASP.NET: создание сверхбыстрых и сверхвысоких масштабируемых веб-сайтов с использованием ASP.NET и SQL Server .
В книге около 500 страниц, так что вы можете многое сделать на всех уровнях: клиент (структура HTML / JavaScript), IIS, ASP.NET, SQL Server, инфраструктура и т. Д.