Какое поведение IE является правильным, поведение с включенным или выключенным режимом совместимости? И почему присутствует DOCTYPE или нет?
сто потратил около четырех часов на решение этой проблемы. Я знаю, что вызывает это, но не знаю, почему и «почему» беспокоит меня.
У меня есть следующий файл .js:
function funcA() {
}
function funcB() {
do {
} while (1 == 1) return 0
}
У меня также есть следующая HTML-страница:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<script src="JScript1.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
new funcA();
</script>
</body>
</html>
Когда я загружаю страницу в IE9, я получаю сообщение об ошибке «funcA не определено». Я могу избавиться от ошибки во время выполнения, сделавкто угодно из следующих:
Включение представления совместимости в IE9Удаление DOCTYPE со страницыДобавление точки с запятой после while и перед возвратом в JavaScript (т. Е. While (1 = 1); return 0)Может кто-нибудь помочь мне понять, что именно здесь происходит?