Вход

Просмотр полной версии : Функция charAt


Basil
20.11.2002, 21:20
Есть ли обратная функция для функции charAt.

Basil
20.11.2002, 22:32
Извините!

Не charAt, а charCodeAt . Требуется обратное действие функции charCodeAt , чтобы из числа получить букву.

sts
20.11.2002, 22:52
trace(String.fromCharCode(65)+String.fromCharCode(45)+String.fromCharCode(90));

Basil
20.11.2002, 23:41
Спасибо!
Как говорится - "Не по шарам". Пример рядом лежал.

Nox Noctis
21.11.2002, 01:20
fromCharCode - это круто, канеш =)

но 'chr' - на 9 (девять) букв короче !..
...а если разница одинакова - то зачем платить больше ?! :D



зы: да, да, я в курсе, это функция устаревшая, deprecated, бла-бла-бла... но вы ведь это тоже знаете, правда ? ну вот и замечательно :D

Basil
21.11.2002, 02:17
А влияет ли это на размер swf? Надо как-нибудь проверить.

Но меня больше волнует другой вопрос. Вот везде пишут. Устаревшая, устаревшая, ..... Для совместимости с будующими версиями рекомендуют не использовать. Еще в пятерке рекомендовали. В МХ все осталось. А дальше? Уберут они устаревшие команды или же все-таки решили оставить все - и старые и новые?

Basil
21.11.2002, 02:54
Проверил! Влияет!

fromCharCode - это круто, канеш =)
но 'chr' - на 9 (девять) букв короче !..
...а если разница одинакова - то зачем платить больше ?!

При fromCharCode размер swf был 13707 байт, при chr 13717. Перепроверил дважды - результат тот же. Так зачем платить больше, видимо разница есть.

Nox Noctis
21.11.2002, 03:47
Basil, глу - пос - ти =)))
Проверил! Влияет! и я проверил, канеш влияет :D


смотрим:

в первом кадре написано: a = String.fromCharCode(65);
в байткодах это выглядит:

frame 0
push 'a', 65, 1, 'String'
getVariable
push 'fromCharCode'
callMethod
setVariable
end // of frame 0


во втором кадре написано: b = chr(65);
в байткодах это выглядит:

frame 1
push 'b', 'A'
setVariable
end // of frame 1


ну как ? :D байткоды - это то что непосредственно выполняет флэш во время проигрывания свф...
даже если не разбираться в действиях - видно, что в случае fromCharCode действий ПЯТЬ тогда как в случае chr действия ДВА =))))

и
если написать в пустой флэшке
a = String.fromCharCode(65); — свф будет 80 байт.

если написать в пустой флэшке
a = chr(65); — свф будет 46 байт.

то есть и по скорости и по объему полученных кодов chr лучше чем fromCharCode В ДВА РАЗА :D а если у тебя вызовов этих функция много - то набегает очень солидная разница ;)


так что там насчет платить больше ? кому платить ? :D :p

Basil
21.11.2002, 04:03
Н-да, дела. Убедил. А где ты эти байткода берешь, я чего-то не понял. Хотелось бы самому посмотреть, посравнивать.

Nox Noctis
21.11.2002, 12:28
flash actionscript assembler/disassembler (http://flasm.sourceforge.net/)

sts
21.11.2002, 12:42
Nox, у тебя на работу время остается? :)

Nox Noctis
21.11.2002, 14:00
хе - хе... =))
а ты посмотри на время написания большинства постов =)) ...обычно это где-то между полуночью и пятью утра =))

DeliMIter
21.11.2002, 15:45
Вот именно! А работать когда?

Nox Noctis
21.11.2002, 15:51
после полуночи надо охотиться =) проливать кровь невинных жертв... а вы все про флэш да про флэш... тьфу !.. :D

DeliMIter
21.11.2002, 15:56
:D :D

Basil
25.11.2002, 13:21
Спасибо, Nox!