I was curious in this example why the declare the variables first. then the next line they define what the variable is. Is there a reason for this?
could you not just say
var message = document.GetElementById("message").innerHTML;
and why do they declare Number(x) in the middle of the if statments? If you put it before the other if statments, would it take a string and convert it to a number?
javascript:
<script>
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "empty";
if(isNaN(x)) throw "not a number";
x = Number(x);
if(x < 5) throw "too low";
if(x > 10) throw "too high";
}
catch(err) {
message.innerHTML = "Input is " + err;
}
}
</script>
trying to understand why its written like this.
By convention, variables are often declared together at the top of a function, when they can be, so that that all their names are obvious. I think JSHint and JSLint enforce this by default, for example.
The second 2 if conditionals are done after x is converted to a number, in case it was a string. If the variable was for instance the string "3" rather than the number 3, before conversion by Number(x), then if(x < 5) would be comparing a number to a string. If it were done before all of the conditionals, it might throw an error, if it were empty, or undefined or the letter s, for example.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With