Как обрабатываются объявления функций?
var abc = '';
if(1 === 0){
function a(){
abc = 7;
}
}else if('a' === 'a'){
function a(){
abc = 19;
}
}else if('foo' === 'bar'){
function a(){
abc = 'foo';
}
}
a();
document.write(abc); //writes "foo" even though 'foo' !== 'bar'
В этом примере отображаются разные результаты в Chrome и Firefox. Выходы Chrome foo
, в то время как выходы FF 19
.