<!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>
为啥不会弹出结果呀
首先,
function
是函数声明而不是执行,想要执行需要调用或者使用自执行结构,而问题里的只有声明而没有执行的过程,所以才看不到alert弹出;其次,这段程序里实际做了三个事:
声明t变量,并给它赋值;
判断t变量;
根据判断到的值,弹出alert.
在这三段过程里,可以发现后两段是可以合并成一步的,所以程序其实可以这样写:
最后,建议function单独去声明,不建议嵌套在if...else这样的判断结构里用。