【发布时间】:2015-12-06 02:36:40
【问题描述】:
我很好奇这个例子为什么要先声明变量。 然后下一行他们定义变量是什么。这是有原因的吗?
你能不能直接说
var message = document.GetElementById("message").innerHTML;
为什么他们在 if 语句的中间声明 Number(x) ? 如果你把它放在其他 if 语句之前,它会接受一个字符串并将其转换为一个数字吗?
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>
试图理解为什么会这样写。
【问题讨论】:
-
我的猜测是:1.) 作者习惯于编写其他语言的方式或 2.) 只是作者感觉使代码更具可读性的方式。
-
作者让你免于困惑。他本可以写
var message = ...,但由于声明提升,这将在顶部产生var。
标签: javascript type-conversion conventions