1. 程式人生 > >javascript 閉包傳值

javascript 閉包傳值

func 外部 最大 val blog 變量 efi 並且 它的

    var foo=(function () {

         var a="abc";

         return{
             get_a:function () {
                 return a;
             },
             new_a:function (newValue) {
                 a=newValue;
             }
         }
    } ())
     console.log(foo.a) //輸出undefined,因為函數外部不能直接訪問內部的局部變量
console.log(foo.get_a())//輸出abc foo.new_a("xyz")//調用並且傳參 console.log(foo.get_a()) //輸出我是通過閉包改變的值 xyz

閉包可以用在許多地方。它的最大用處有兩個,一個是前面提到的可以讀取函數內部的變量,另一個就是讓這些變量的值始終保持在內存中。

javascript 閉包傳值