zoukankan      html  css  js  c++  java
  • js全局变量和局部变量

    1 <script>
    2 var i = 'yuanjianhang';
    3  function myloveName() {
    4     alert(i);  
    5     var  i = 'guanxi';
    6 
    7  }
    8  myloveName();
    9 </script>

    运行结果 undefined

    1 <script>
    2 var i = 'yuanjianhang';
    3  function myloveName() {
    4    var  i = 'guanxi';
    5     alert(i);  
    6  }
    7  myloveName();
    8 </script>

    运行结果  guanxi

    代码分析  function内 加上var 代表局部变量,声明的局部变量名称和外部的全局变量名称相同,但是与外部的i是没有关系的,只是名称相同而已,所以alert(i)在,局部变量定义之前会输出undefined.

    1 <script>
    2 var i = 'yuanjianhang';
    3  function myloveName() {
    4     alert(i);  
    5     i = 'guanxi';
    6 
    7  }
    8  myloveName();
    9 </script>

    运行结果  yuanjianhang

    1 <script>
    2 var i = 'yuanjianhang';
    3  function myloveName() {
    4     
    5     i = 'guanxi';
    6     alert(i);  
    7  }
    8  myloveName();
    9 </script>

    运行结果  guanxi

    代码分析 function内i没加var 代表全局变量,所以alert(i)在变量赋值之前,输出yuanjianhang

    1 <script>
    2  i = 'yuanjianhang';
    3  function myloveName() {
    4     a = 'guanxi';
    5  }
    6  myloveName();
    7 alert(a);
    8 //document.write(a);
    9 </script>

    运行结果  guanxi  代码分析a为全局变量

    PS:全局变量可以不声明var 函数内变量必须声明var,在定义全局变量时加或不加var关键字没什么影响;但在定义局部变量时如果不加var关键字javascript解释程序会将其解释为全局变量。

  • 相关阅读:
    基于JFinal中搭建wopi协议支撑办法
    mysql 增加列
    国王分金币
    口算题卡升级版本
    elasticsearch牛人的日志列表
    牛B的大数据库
    golang --rune
    golang ---rune与byte
    golang学习笔记--接口
    golang学习笔记--函数和方法
  • 原文地址:https://www.cnblogs.com/hym-pcitc/p/6088667.html
Copyright © 2011-2022 走看看