本人刚学JavaScript,遇到一个问题,请各位大侠赐教!
代码如下:
<script language="javascript">
scope="global";
function checkscope() {
    scope="local";
    document.writeln(scope);
    myscope="local";
    document.writeln(myscope);
 }
其中,scope和myscope是全局变量还是局域变量?

解决方案 »

  1.   

    myscope是局部变量,外面那个scope是全局变量
    一般情况下,如果变量名不重复的话,一个变量只在其大括号范围内有效
      

  2.   


    to 1楼:你的解释是完全错误的。
    在js中没有块作用域,这意味着
    for() {
      var i = 0;
    }
    这个i也是全局变量to 2楼:myscope在checkscope()执行完毕之后方可成为全局变量,其实质在于myscope没有用var定义。则在执行的过程window.checkscope()的时候,window作为调用对象,这个myscope就成了window的一个属性了。
    比如
    function checkscope() {
      scope="local";
      document.writeln(scope);
      var myscope="local";
      document.writeln(myscope);
     }
    这个时候myscope就是个局部的变量了
      

  3.   

    scope是局部变量
    myscope是全局变量
      

  4.   

    scope  myscope都没有用var来定义  所以会被当做全局的来处理   
    另外  myscope只有在checkscope函数执行之后才会有用  不然  就是underfined
      

  5.   

    2个都是全局的 但myscope要checkscope()执行后才是
      

  6.   

    ++
    window['scope']="global"; 对要显示定义