<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-159  評論-114  文章-7  trackbacks-0
    是直接寫在包里的函數,包里沒有類,只有函數,這樣的函數叫函數閉包
    函數在類里出現通常叫方法,


    http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f54.html
    函數閉包 是一個對象,其中包含函數的快照及其“詞匯環境”。函數的詞匯環境包括函數范圍鏈中的所有變量、屬性、方法和對象以及它們的值。無論何時在對象或類之外的位置執行函數,都會創建函數閉包。函數閉包保留定義它們的作用域,這樣,在將函數作為參數或返回值傳遞給另一個作用域時,會產生有趣的結果。

    例如,下面的代碼創建兩個函數:foo()(返回一個用來計算矩形面積的嵌套函數 rectArea())和 bar()(調用 foo() 并將返回的函數閉包存儲在名為 myProduct 的變量中)。即使 bar() 函數定義了自己的局部變量 x(值為 2),當調用函數閉包 myProduct() 時,該函數閉包仍保留在函數 foo() 中定義的變量 x(值為 40)。因此,bar() 函數會返回值 160,而不是 8。

    function foo():Function
    {
       var x:int = 40;
       function rectArea(y:int):int // function closure defined
       {
           return x * y
       }  
       return rectArea;
    }
    function bar():void
    {
       var x:int = 2;
       var y:int = 4;
       var myProduct:Function = foo();
       trace(myProduct(4)); // function closure called
    }
    bar(); // 160

    方法的行為與函數閉包類似,因為方法也保留有關創建它們的詞匯環境的信息。當方法提取自它的實例(這會創建綁定方法)時,此特征尤為突出。函數閉包與綁定方法之間的主要區別在于,綁定方法中 this 關鍵字的值始終引用它最初附加到的實例,而函數閉包中 this 關鍵字的值可以改變。有關詳細信息,請參閱方法。

    posted on 2009-12-29 14:29 北國狼人的BloG 閱讀(215) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 蜜芽亚洲av无码精品色午夜| 亚洲成av人片不卡无码久久| 久久精品亚洲一区二区三区浴池 | 可以免费观看一级毛片黄a| 亚洲成人黄色网址| 国产精品视频免费观看| 亚洲福利一区二区| 欧美三级在线电影免费| 亚洲免费视频观看| 97人伦色伦成人免费视频| 亚洲av产在线精品亚洲第一站| 99久久免费国产香蕉麻豆| 亚洲国产中文在线视频| 最近中文字幕mv免费高清视频7 | 久视频精品免费观看99| 久久亚洲精品成人无码网站| 污污网站免费观看| 亚洲国语在线视频手机在线| 毛片免费全部免费观看| 美女黄频视频大全免费的| 国产精品亚洲综合专区片高清久久久 | 中国极品美軳免费观看| 色欲色欲天天天www亚洲伊| 国产99视频精品免费视频7| 一级毛片视频免费| 亚洲国产精品va在线播放| 18pao国产成视频永久免费| 亚洲欧洲专线一区| 亚洲高清无码在线观看| 国产午夜无码精品免费看动漫| 亚洲Av无码精品色午夜| 国产成人亚洲精品电影| 中文字幕专区在线亚洲| 91短视频在线免费观看| 亚洲影院天堂中文av色| 91免费精品国自产拍在线不卡| 亚洲av无码av在线播放| 亚洲精品无码av人在线观看 | 国产精品亚洲精品久久精品| 日本免费网站视频www区| 亚洲AV无码国产剧情|