Я нашел альтернативный ответ ответа Greg, немного менее подробному, потому что он использует Python 2.1's пользовательские функциональные атрибуты (к которому достаточно удобно можно получить доступ из их собственной функции).
def foo():
var_b = 3
def _closure(x):
return _closure.var_a + var_b + x
_closure.func_dict['var_a'] = 2
return _closure
localClosure = foo()
# Local closure is now "return 2 + 3 + x"
a = localClosure(1) # 2 + 3 + 1 == 6
# DO SOME MAGIC HERE TO TURN "var_a" of the closure into 0
# ...but what magic? Is this even possible?
# apparently, it is
localClosure.var_a = 0
# Local closure is now "return 0 + 3 + x"
b = localClosure(1) # 0 + 3 +1 == 4
Мысль я отправил бы его для полноты. Аплодисменты так или иначе.
Обновленный ответ: Посмотрите этот сайт. Он использует уловку, проверяя, определен ли последний элемент document.getElementsByTagName («*») или нет. Кажется, он работает в Opera и IE.
Исходный ответ: Вы не можете проверить, но можете сделать:
window.setTimeout(function () {
// do your stuff
}, 0);
Это определенно подействует на вас после загрузки страницы.
jQuery ready ()
ставит в очередь функцию, которая будет запущена, когда документ загружается или запускается немедленно, если документ уже загружен:
$(document).ready(function() {
//your code here
});
Просто убедитесь, что jQuery включен перед блоком сценария. Если вы не можете напрямую включить какие-либо ресурсы скрипта, вы всегда можете скопировать тело jQuery-min в сам скрипт.