回覆列表
  • 1 # 使用者8108804039310

    var 宣告的變數,作用域是當前 function

    沒有宣告的變數,直接賦值的話, 會自動建立變數

    但作用域是全域性的.

    //-----------------

    function doSth() {

    a = "AAA";

    }

    doSth(); // 執行一次 doSth

    alert(a); // 可以看到 "AAA"

    //-----------------

    如果用了 var

    //-----------------

    function doSth() {

    var a = "AAA";

    }

    doSth(); // 執行一次 doSth

    alert(a); // 出錯!!! 變數未定義, 因為 doSth 中宣告的變數作用域只是 doSth 函式.

    //-----------------

    另外,如果 函式套函式,還會使情況變得更加複雜

    --------------------------------------------------------

    函式定義中,宣告的函式引數作用域都是函式本身的

    如果,在引數宣告中出現 var , 屬於語法錯誤

  • 中秋節和大豐收的關聯?
  • 我家貓都用自動水碗裡的水洗爪子、洗臉,喝水只喝馬桶水是為啥?