<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 閱讀(209) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲成人福利网站| 精品无码一区二区三区亚洲桃色| 亚洲娇小性xxxx色| 啦啦啦完整版免费视频在线观看| 久久亚洲国产中v天仙www| 国产一级一毛免费黄片| 亚洲人成人77777网站| 男女作爱在线播放免费网站| 国产∨亚洲V天堂无码久久久| a视频在线观看免费| 亚洲欧洲第一a在线观看| 在线看片免费人成视久网| 亚洲熟妇无码久久精品| 四虎成人免费观看在线网址| 亚洲国产成人AV在线播放| 免费看小12萝裸体视频国产| 色爽黄1000部免费软件下载| 国产aⅴ无码专区亚洲av麻豆 | 日本精品久久久久久久久免费| 午夜国产大片免费观看| xxxx日本在线播放免费不卡| 亚洲国产精品一区二区久久hs| h视频在线观看免费网站| 亚洲欧洲日韩国产一区二区三区| 免费被黄网站在观看| 人人公开免费超级碰碰碰视频| 亚洲国产精品无码久久久蜜芽| 免费不卡在线观看AV| 99亚偷拍自图区亚洲| 亚洲AV无码一区二三区| 777成影片免费观看| 亚洲日韩国产欧美一区二区三区| 国产v片免费播放| 久久久久久AV无码免费网站下载| 亚洲免费视频网址| 亚洲精品成人久久久| 亚洲黄色免费观看| 美女无遮挡免费视频网站| 亚洲国产精品久久66| 国产精品免费播放| 亚洲黄色免费网址|