Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Функция charAt (http://www.flasher.ru/forum/showthread.php?t=39845)

Basil 20.11.2002 21:20

Функция charAt
 
Есть ли обратная функция для функции 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


Часовой пояс GMT +4, время: 13:14.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.