<script>
var mysq = 1;
function a()
{
alert( this.mysq );
var mysq = 0;
}
a();
</script>
请运行下看看

解决方案 »

  1.   

    var mysq = 1;
            function a()
            {
                var mysq = 0;
                alert(mysq ); //是0
            }
            a();var mysq = 1;
            function a()
            {
             
                alert(mysq );//undefind
               var mysq = 0;
            }
            a();
      

  2.   

    没有对象调用函数的时候
    全部this全部指向window另外
    所有的全局变量都是window的属性        var mysq = 1;
            function a()
            {
                alert( this.mysq );
                var mysq = 0;
            }
            a();就相当于
    alert(window.mysq)
    弹出来的就是1了
      

  3.   

    抱歉错了,是多了个this
        
    <script>
            var mysq = 1;
            function a()
            {
                alert( mysq );
                var mysq = 0;
            }
            a();
        </script>抱歉
      

  4.   

    函数在执行的时候会有类似预编译的过程 会先将改作用域下的变量提出来设置成undefined然后在看是执行函数所以 打出的是undefined相关资料   
    http://www.baidu.com/s?wd=javascript+%D4%A4%B1%E0%D2%EB