js的变量作用域

来源:互联网 发布:java 毫秒数转时间 编辑:程序博客网 时间:2024/06/10 14:59
<!DOCTYPE html><html>  <head>    <title>03_变量的作用域.html</title>    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="this is my page">    <meta http-equiv="content-type" content="text/html; charset=UTF-8">        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  </head>    <body>    This is my HTML page. <br>  </body>  <script type="text/javascript">  /*   * 变量的作用域:   * * javascript中存在(变量)   * * 全局变量:全局域   * * 局部变量:当前局部域(函数域)   * * javascript中存在(域)   * * 全局域   * * 函数域(局部域)   *///var a = "a";////function fn(){//var b = "b";////alert(a);//outputa//alert(b);//outputb//}////fn();//alert(a);//outputa//alert(b);//outputundefind/* * 定义局部变量时,不使用"var"修饰符: * * javascript语法上支持这种写法 * * 局部变量b被定义出来 * * javascript会自动将局部变量b定义为全局变量 * 在实际开发中,不建议这样编写: * * 编码不规范 *///var a = "a";////function fn(){//b = "b";////alert(a);//outputa//alert(b);//outputb//}////fn();//alert(a);//outputa//alert(b);//outputb/* * 在javascript中,定义全局变量与局部变量同名时: * * 在函数域中,只能访问到局部变量 *  * 解读代码(代码的执行情况): * * 定义一个全局变量a,并初始化为a(存在并且有值) * * 定义一个函数fn()(而不执行的时候) * * 局部变量a被定义,并没有初始化(存在但是没值) * * 调用函数fn() * * 第一次打印变量a,是局部变量a,结果为undefind * * 第二次打印变量a,是局部变量a,结果为b * * 在全局域中,访问变量a,只能是全局变量a */var a = "a";function fn(){alert(a);//outputundefindvar a = "b";alert(a);//outputb}fn();alert(a);//outputa  </script></html>

0 0
原创粉丝点击