使用getPow這個函式工廠取回的function中的傳入值v,正確的被記住。
下一步測試其範圍。
<?xml version="1.0" encoding="utf-8"?>
<s:Application creationComplete="init()" xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
protected function init():void
{
var pow2:Function = getPow(2);
var pow3:Function = getPow(3);
trace(pow2(2)); //4
trace(pow3(2)); //8
}
private function getPow(v:int):Function
{
return function (x:int):int
{
return Math.pow(x , v);
}
}
]]>
</fx:Script>
</s:Application>
沒有留言:
張貼留言