zoukankan      html  css  js  c++  java
  • js中局部变量和全局变量的易混点

    1.以下输出的是:

    undefined
    局部变量

    <script type="application/javascript">
      var scope="全局变量";
      function cal(){
        document.writeln(scope+"<br />");
        var scope="局部变量";                                //(1)处
        document.writeln(scope+"<br />");
      }
      cal();
    </script>

    2.以上不好理解的话,把函数中的scope改为scope1,则易理解。

    原因:函数中的变量为局部变量,整个作用域是函数内。这里主要是定义变量用var和不用var的区别。

    即:1)如果使用var,则程序会强制定义一个新变量

      2)如果不使用,则系统会优先在当前上下文(不仅是上文,还有下文)中搜索是否存在该变量。只有当该变量不存在时,系统才会重新定义。

    所以1中搜索到了下文定义的scope,但在(1)处并未赋值,故显示undefined.

  • 相关阅读:
    小错误
    创建表空间
    mysql
    myeclipse
    linux命令小结
    jquery
    java基础
    【学习笔记】【多项式】多项式插值相关_个人学习用
    SHUoj 神无月排位赛
    SHUoj 字符串进制转换
  • 原文地址:https://www.cnblogs.com/yyzyxy/p/7198653.html
Copyright © 2011-2022 走看看