<!DOCTYPE html><html><head> <title></title></head><body> <script type="text/javascript"> var t = 10; if(t==10) { function rec() { alert(1); } } else { function rec() { alert(2); } } </script></body></html>为啥不会弹出结果呀
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
首先,function是函数声明而不是执行,想要执行需要调用或者使用自执行结构,而问题里的只有声明而没有执行的过程,所以才看不到alert弹出;
其次,这段程序里实际做了三个事:
声明t变量,并给它赋值;
判断t变量;
根据判断到的值,弹出alert.
在这三段过程里,可以发现后两段是可以合并成一步的,所以程序其实可以这样写:
// 函数:判断t的值,并弹出相应结果
function checkT(t) {
if (t==10) {
alert(1);
} else {
alert(2);
}
}
// 声明t,然后执行函数
var t = 10;
checkT(t);
最后,建议function单独去声明,不建议嵌套在if...else这样的判断结构里用。
添加回答
举报
0/150
提交
取消