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

    全局变量:可以随时调用的变量。

    局部变量:只能在函数内部调用的变量

    比喻:清朝有兵部、吏部 、刑部三个部门,相当于三个函数。兵部可以调动守备军,吏部可以调动后勤兵,刑部可以调动狱卒,这三支部队相当于三个变量,只能被本部门调用,不能被其它部门调用。而三者都可以调动老板姓这支变量。

    代码例子:

    情况一

    function aaa() {

    i = “aiaiai”

    function bbb() {

    alert(i);

    };

    aaa();

    bbb();

    此时会输出“aiaiai”。这种情况下i相当于一个全局变量,可以在全局范围内调用。比喻来讲,任何其它部门获得皇帝许可后都可以调用兵部的守备军。如果是以下:

    情况二

    function aaa() {

    var i = “aiaiai”

    function bbb() {

    alert(i);

    };

    aaa();

    bbb();

    此时不会输出任何结果。i这支部队已经被律法规定只能在兵部内用于特定的用途,即便是皇帝的命令也不顶事。

    再如情况三

    function aaa() {

    i = “aiaiai”

    function bbb() {

    alert(i);

    };

    bbb();

    此时也不会有任何结果。aaa()函数未被执行,相当于根本没有建立这个部门,更别说调用它内部的兵丁。

    情况四

    function aaa() {

    i = “aiaiai”

    function bbb() {

    alert(i);

    };

    bbb();

    aaa();

    此时也不会有输出结果。bbb()这个部门再需要兵马的时候aaa()这个部门还没有建立,等到bbb()把问题解决后,国家才考虑到要建立兵部,这才执行aaa()函数。

  • 相关阅读:
    常用 SQL 语句使用的总结
    LC 583. Delete Operation for Two Strings
    LC 873. Length of Longest Fibonacci Subsequence
    LC 869. Reordered Power of 2
    LC 900. RLE Iterator
    LC 974. Subarray Sums Divisible by K
    LC 973. K Closest Points to Origin
    LC 975. Odd Even Jump
    LC 901. Online Stock Span
    LC 722. Remove Comments
  • 原文地址:https://www.cnblogs.com/jiandanshishu/p/12953317.html
Copyright © 2011-2022 走看看