... извиняюсь, ерунду написал, метод с масисвов более быстр:

Код AS1/AS2:
function sliceStr(str:String):Void
{
var strLength:Number = str.length;
for (var i:Number = 0; i < strLength; i++)
{
var curLetter:String = str.slice(i, (i + 1));
}
}
function subStr(str:String):Void
{
var strLength:Number = str.length;
for (var i:Number = 0; i < strLength; i++)
{
var curLetter:String = str.substring(i, (i + 1));
}
}
function splitStr(str:String):Void
{
var strArr:Array = str.split('');
var strLength:Number = strArr.length;
for (var i:Number = 0; i < strLength; i++)
{
var curLetter:String = strArr[i];
}
}
var count:Number = 1000;
t = getTimer();
for(var i:Number = 0; i < count; i++)
{
sliceStr('I know, what you were doing last summer...');
}
trace(getTimer() - t);
t = getTimer(); // 185
for(var i:Number = 0; i < count; i++)
{
subStr('I know, what you were doing last summer...');
}
trace(getTimer() - t); // 189
t = getTimer();
for(var i:Number = 0; i < count; i++)
{
splitStr('I know, what you were doing last summer...');
}
trace(getTimer() - t); // 76