我希望在验证条件时为变量赋值,如
if (k<12){
var Case=4;
}
当我调用此变量在页面正文中打印时出现问题
document.write(Case);
答案 0 :(得分:3)
基本上,var
statement被吊起并分配了undefined
。
变量声明,无论它们出现在何处,都会在执行任何代码之前进行处理。使用
var
声明的变量的范围是其当前执行上下文,它是封闭函数,或者对于在任何函数外部声明的变量,全局。如果你重新声明一个JavaScript变量,它就不会失去它的值。
执行顺序:
var Case; // hoisted, value: undefined
if (k < 12) {
Case = 4;
}
答案 1 :(得分:1)
您未定义,因为您尚未实际定义它。您在条件为真时定义它。你应该写这样的代码。
var Case = null;
var k = 0;
if(k > 14) {
Case = 3;
}
document.write(Case);
我希望它有所帮助。
答案 2 :(得分:0)
var Case = 0;
if(k<12){
Case = 4;
}
document.write(Case);
你需要先定义它,所以如果k <12 == False它不会被定义。