我在JavaScript中遇到全局变量的麻烦。从我读过的每一篇文章中,从函数声明的变量都有完整的范围。但是在函数内部时,低于alert(leftMargin);
会导致“未定义”;
var leftMargin = 36;
alert(leftMargin); /* '36' */
function position(direction) {
alert(leftMargin); /* 'undefined' */
}
最佳答案
您确定它不确定吗?
<script type="text/javascript">
var leftMargin = 36;
alert(leftMargin); /* '36' */
function position(direction) {
alert(leftMargin); /* '36' */
}
position();
</script>
正如预期的那样,它为我两次发出36次警报。在定义
leftMargin
变量和实际调用position()
之间可能没有设置。