замыкания в firefox небезопасны
в яваскрипте замыкания часто используются для эмуляции private-свойств объектов. В следующем примере внешний код, имея доступ к a
, никогда не сможет узнать значение b
:
a = (function(){
var b = 123;
return function(){ b; }
})()
однако, на это нельзя рассчитывать при использовании firefox — в нём можно передать в eval
вторым параметром контекст выполнения кода:
eval('c = b', a)
это можно считать проявлением большей гибкости, но мне это кажется очередным неудобным исключением, о котором нужно помнить
update: ага, уже в 3.1 этого не будет