我遇到了JavaScript中的全局变量问题。从我读过的每篇文章中,一个函数声明的变量都有一个完整的范围。但是在alert(leftMargin);
之下,当在函数内时会导致'undefined';
var leftMargin = 36;
alert(leftMargin); /* '36' */
function position(direction) {
alert(leftMargin); /* 'undefined' */
}
答案 0 :(得分:5)
你是否肯定它是未定义的?
<script type="text/javascript">
var leftMargin = 36;
alert(leftMargin); /* '36' */
function position(direction) {
alert(leftMargin); /* '36' */
}
position();
</script>
正如预期的那样,它会向我发出两次警报。在定义leftMargin
变量和实际调用position()
之间可能没有设置。