Нет кросс-браузерного метода. В Internet Explorer определенные переменные и функции становятся членами объекта window
, но не перечисляются. Вы можете проверить их существование, используя funcName in window
, но не можете перечислить их, используя оператор for...in
.
Переменные, которые определены как свойства объекта окна , являются перечисляемыми:
function someFunc () {} // is not enumerable
window.someOtherFunc = function () {} // is enumerable
РЕДАКТИРОВАТЬ Реализация JScript (удивление, удивление) на самом деле неверна, как описано в этом сообщении в блоге Эрика Липперта .
Но я не думаю, что вы хотите поставить перед всеми вашими переменными window.
, не так ли? Для метода, который будет работать в некоторых браузерах, см. ответ Джоша Стодолы .