zoukankan      html  css  js  c++  java
  • js中全局变量的一点小知识点

    js中有三种方式定义全局变量

    • 在任何函数外面直接执行var语句,例如:var f="value";
    • 直接添加一个属性到全局变量上,在web浏览器中,全局对象名为window。例如:window.f="value";
    • 直接使用未经过声明的变量,以这种方式定义的全局变量成为隐式的全局变量。例如:f="value";

    尽可能少使用全局变量:

    其中一种方法就是将他们添加到同一个命名空间去:例如:

    1 var My={};
    2 My.name={
    3         "first name":"first",
    4         "last-name":"last"
    5 };
    6 My.work={
    7      ……
    8 };

    以上代码中定义了唯一一个全局变量My,所有的全局变量都添加到My中。

    js支持函数作用域,但不支持块作用域,为了减少块级作用域的使用,就在函数体顶部就声明函数中所有可能会用到的变量。

    举例说明:

     1 <script type="text/javascript">
     2        var foo=function(){
     3            var a=1,b=2;
     4            var bar=function(){
     5                var b=3,c=4;
     6                a+=b+c;
     7                console.log(a);
     8                console.log(b);
     9                console.log(c);
    10            };//在此处就已经是c=undefined
    11            bar();
    12            console.log(a);
    13         console.log(b);
    14            console.log(c);
    15        }
    16        foo();
    17     </script>

    以上代码执行结果为

  • 相关阅读:
    【NOI D2T1】量子通信(容斥原理+卡常)
    CF1555D Say No to Palindromes(线段树)
    CF1554B Cobb
    CF1554A Cherry
    【做题笔记】UVA10162 Last Digit
    【做题记录】CF1223D Sequence Sorting
    CF39H
    UVA10763
    题解 AT2361 [AGC012A] AtCoder Group Contest
    このブログについて | About this blog
  • 原文地址:https://www.cnblogs.com/yangxiaoguai132/p/5223058.html
Copyright © 2011-2022 走看看