Made functions using for loop, trace returns undefined when running functions?

var navAreas:Array = new Array("LOL", "WOOT", "ROFL");
for (var f:Number = 0; f < navAreas.length; f++) {
	this["action" + f] = function () {
		trace(navAreas[f]);
	};
        // should make functions action0, action1, action2.
}
action1(); // shou'd return WOOT, but returns undefined.