Почему происходит зацикливание
Только начал изучать js и что-то совсем не могу понять почему происходит зацикливание в 12 строке кода (while...), будьте так добры, объясните причину
var numberOfTrees = prompt("Number of trees");
while (typeof(numberOfTrees) != Number) {
try {
numberOfTrees = Number(numberOfTrees);
if (numberOfTrees == 1) {
document.write("One tree");
} else {
document.write("p".repeat(numberOfTrees));
}
} catch (e) {
alert(e);
}
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>MyVeryFirstEx</title>
</head>
<body>
<script type="text/javascript">
var numberOfTrees = prompt("Number of trees");
while (typeof(numberOfTrees) != 'number') {
console.log(numberOfTrees, typeof(numberOfTrees));
numberOfTrees = Number(numberOfTrees);
console.log(numberOfTrees, typeof(numberOfTrees));
if (numberOfTrees == 1) {
document.write("One tree");
} else {
document.write("p".repeat(numberOfTrees));
}
}
</script>
</body>
Автор решения: Grundy
→ Ссылка
Результатом выполнения typeof является строка, поэтому и сравнивать надо со строкой:
while (typeof(numberOfTrees) != 'number'){