JavaScript全局变量麻烦

时间:2010-01-11 20:03:22

标签: javascript global-variables

我遇到了JavaScript中的全局变量问题。从我读过的每篇文章中,一个函数声明的变量都有一个完整的范围。但是在alert(leftMargin);之下,当在函数内时会导致'undefined';

var leftMargin = 36;
alert(leftMargin); /* '36' */

function position(direction) {
    alert(leftMargin); /* 'undefined' */
}

1 个答案:

答案 0 :(得分:5)

你是否肯定它是未定义的?

<script type="text/javascript">
    var leftMargin = 36;
    alert(leftMargin); /* '36' */
    function position(direction) {
        alert(leftMargin); /* '36' */
    }
    position();
</script>

正如预期的那样,它会向我发出两次警报。在定义leftMargin变量和实际调用position()之间可能没有设置。