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.

  • 相关阅读:
    python之socket编程
    python之异常处理
    面向对象进阶
    openstack的网络配置
    VLAN,GRE,VXLAN
    三节点搭建openstack-Mitaka版本
    矩阵转换
    判断区域相交的方法
    Centos 6.5 Multipath 初始配置
    CentOS开机自动运行程序的脚本
  • 原文地址:https://www.cnblogs.com/yyzyxy/p/7198653.html
Copyright © 2011-2022 走看看