Чтобы превратить мои комментарии в ответ.
hasOwnProperty()
должен быть O(1)
, так как это ключевой поиск, но это будет зависеть от реализации.
in
, безусловно, будет более сложным (хотя должно быть таким же, как hasOwnProperty()
, если свойство существует для этого объекта), когда оно идет вверх по цепочке прототипов, ища это свойство.Вот почему часто рекомендуется использовать hasOwnProperty()
при переборе свойств объекта с помощью for ( in )
.
Чтобы выяснить это, проверьте исходный код этих функций.Используйте источник, Люк:)