При запуске следующего блока кода, выход FF и Chrome typeof(hiya) = string
, а вывод IE7/8 typeof(hiya) = undefined
.
<html>
<body>
<script type="text/javascript">
window.hiya = 'hiya';
</script>
<script type="text/javascript">
if( false ) {
var hiya = 1;
}
document.write( "typeof(hiya) = "+ typeof(hiya) );
</script>
</body>
</html>
Каждое из следующих действий устраняет проблему:
- Объединение всего в один блок
<script>
. - Удаление блока
if
. - Переименование
var hiya = 1
вvar hiya2 = 1
. - Переименование
var hiya = 1
вwindow.hiya = 1
. - Переименование
var hiya = 1
вhiya = 1
.
Что происходит? Есть ли ошибка в IE?