На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (66) « Первая ... 42 43 [44] 45 46 ...  65 66  ( Перейти к последнему сообщению )  
> JS и его "недостатки"
    Цитата D_KEY @
    Стандарт.
    Хорошо, вот он: http://www.ecma-international.org/publicat...ST/Ecma-262.pdf
    Если укажете, где именно там указано, что аргументы не могут иметь значения по дефолту, буду премного благодарен...
      Цитата D_KEY @
      Стандарт

      Все дело в бумажке? :lool: Узнаю сишников :D
        Цитата Астарот @
        Цитата D_KEY @
        Стандарт

        Все дело в бумажке? :lool: Узнаю сишников :D

        Все дело в языке. Зачем гадить в язык, если можно нагадить лишь в его интерпретации в браузере :) ?
          Цитата D_KEY @
          Все дело в языке. Зачем гадить в язык, если можно нагадить лишь в его интерпретации в браузере :) ?
          Ну в браузерах оно нам нафик не сдалось! А в "своих" интерпретаторах делайте, чтохотите, хоть на голове стойте...
            Цитата D_KEY @
            Все дело в языке. Зачем гадить в язык, если можно нагадить лишь в его интерпретации в браузере :) ?

            Ты на минутку так и не обосновал этого "гаденья", но если уж на то пошло, то и правда - запиливаешь свой js движок, и в нем хоть строгую типизацию, хоть блекджек со шлюхами, хоть Lua :) Но покамест на практике имеем то, что имеем - основная ниша js это браузеры. они разные и с каждым из них нужно жить, и по возможности не доставляя программисту не нужных проблем.

            Добавлено
            При этом нужно еще и сквозь игольное ушко быстродействия пролезть!
            Сообщение отредактировано: Астарот -
              Цитата fatalist @
              А в "своих" интерпретаторах делайте, чтохотите, хоть на голове стойте...

              Так стандарт жеж. Веб же может себе позволить нестрогое следование стандартам :)
              И вообще какой смысл в этой теме при изначальном подходе "используем то, что используем, если чего-то нет, значит это и не нужно(обходимся же)"?
                Кстати тот JS, который сейчас работает в браузерах, далеко не последняя версия...
                http://ru.wikipedia.org/wiki/JavaScript
                  Цитата Астарот @
                  Но покамест на практике имеем то, что имеем - основная ниша js это браузеры. они разные и с каждым из них нужно жить, и по возможности не доставляя программисту не нужных проблем.

                  Добавлено
                  При этом нужно еще и сквозь игольное ушко быстродействия пролезть!

                  Я понял твою мысль, можешь больше не повторять :)
                    Цитата D_KEY @
                    Так стандарт жеж.
                    Я выше задавал вопрос по стандарту, есть на него ответ?
                      Цитата fatalist @
                      Я выше задавал вопрос по стандарту, есть на него ответ?

                      Ну загляну когда в стандарт, будет и ответ :)
                        Цитата D_KEY @
                        И вообще какой смысл в этой теме при изначальном подходе "используем то, что используем, если чего-то нет, значит это и не нужно(обходимся же)"?

                        Тема о недостатках языка, а факт остается тем не менее фактом от которого никуда не дется и с которым надо жить - и благодаря которому многие "недостатки" превращаются в преимущества ;)
                          Цитата D_KEY @
                          Ну загляну когда в стандарт, будет и ответ :)
                          Ну значит пока и обсуждать нечего...
                          Просто ECMAScript это только ядро... над ним в JavaScript много чего надстроено...
                          Есть другие реализации (ActionScript · Caja · LiveScript · JScript · JavaScript OSA · JScript .NET · QtScript)... вполне возможно, что в них реализовано что-то из того что вы тут все хотите...
                          А стандарта самого JavaScript нету... зависит все от движка...
                            Подумал тут - а какие лично у меня есть претензии к js? :scratch: В голову не идет ваще ничего, кроме "этот глядский ie и эта глядская верстка!" :D
                              Цитата fatalist @
                              Цитата D_KEY @
                              Ну загляну когда в стандарт, будет и ответ :)
                              Ну значит пока и обсуждать нечего...
                              Просто ECMAScript это только ядро... над ним в JavaScript много чего надстроено...

                              Пока полистал стандартик, трава, но читаемо. Пока нашел(10.4.3, 10.5, 10.6) только то, о чем уже говорилось - в функцию можно передавать сколько хочешь аргументов, не зависимо от декларации параметров в функции. И вообще судя по проделываемым манипуляциям при вызове, о производительности тут мало думали и проверка аргументов бы практически на ней не сказалась...

                              korvin, ты тут вроде был, не пропадай, скажи как не теряя информации о типе работать с произвольным количеством параметров функции?
                              Сообщение отредактировано: D_KEY -
                                D_KEY, а вот те еще, кстати, один поворот той же проблемы. Вот пишу я некую систему. Например грид! При клике на ячейке грида хочу дать возможность стороннему программисту подвешивать свое событие на грид. Типа пишу в доке - если используешь мой грид, то при инициализации в параметре cellClickEvt передай ссылку на обработчик и при клике на ячейку он вызовется. Ну. и в реализации вешаю на клик примерно так:
                                Цитата
                                .onclick = function()
                                {
                                ...делаю свои действия, например ставлю курсор на кликнутую ячейку. подсвечиваю ее, все такое
                                if( cellClickEvt )
                                {
                                вызываю cellClickEvt() что бы выполнить пользовательский код
                                }
                                }

                                Вроде все пучком. Но через пару версий в обработке клика по дефолту я начинаю обрабатывать какую-то инфу - ну, к примеру ячейка подсвечивается красным если в ней после клика отрицательное число, и зеленым, если положительное :-? Сам придумай. В общем у меня появляется параметр который был бы полезен в пользовательском обработчике клика. И что мне делать? Сейчас-то я просто сделаю так:
                                Цитата
                                .onclick = function()
                                {
                                ...делаю свои действия, например ставлю курсор на кликнутую ячейку. подсвечиваю ее, все такое
                                if( cellClickEvt )
                                {
                                вызываю cellClickEvt( color ) передав цвет ячейки, или true/false, придумай сам
                                }
                                }

                                Сторонний прогер даже не заметит что ему что-то там стало приходить, у него все будет работать по-прежнему :-? Захочет использовать новые данные - пойдет в доку, увидит что они уже передаются, и перепишет свой обработчик под них. Не захочет - ну не нужны они ему! - и так все работать будет. А с твоей чехардой с параметрами - объяви так, не объявляй сяк - что будет? Отвалится в самый неожиданный момент?
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 42 43 [44] 45 46 ...  65 66


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1501 ]   [ 14 queries used ]   [ Generated: 25.08.26, 12:40 GMT ]