Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript variable declaration and number conversion [closed]

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.

like image 420
kronis72 Avatar asked Jul 13 '26 15:07

kronis72


1 Answers

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.

like image 109
Chad McGrath Avatar answered Jul 15 '26 04:07

Chad McGrath