На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (66) « Первая ... 24 25 [26] 27 28 ...  65 66  ( Перейти к последнему сообщению )  
> JS и его "недостатки"
    Цитата Астарот @
    Повторить про функции которые с одним параметром возвращают значение, а с двумя - устанавливают?

    А как они называются тогда? getsetVariable()? :)
      Цитата Астарот @
      Забористая у тебя трава, а теперь строение блохи тро-ло-ло... бла-бла-бла...

      Ну, ok, а по теме то чего-нить наструячите?
        Цитата Мяут-Настоящий @
        Какой смысл имеют вызовы getSomeThings(1, 2), sumArguments() и sumArguments(1, "x", 0.5, true)? :)

        Даже если это не имеет никакого смысла - дальше-то что? :) Положим не имеет, тот, кто вызывает тупой упырь не осиливший доку, и что это изменило? Первый вызов у тебя все так же вернет все, что надо, второй вполне может обломится потому что у тебя запросто может быть не объявленная s, что есть вина программиста то есть тебя. Третий отвалится из-за "х" в параметрах. Ну, и что ты доказал?
          Цитата Астарот @
          Где ты видишь четко, а?

          В Java, C/C++ и Python есть по сути три типа функций (хотя в Python все сложнее, но забудем пока про kwargs):
          - Без аргументов
          - С фиксированным числом аргументов
          - С произвольным числом аргументов
          Их семантика четко определяется в объявлении функции.

          В JS - есть только один тип функции - с произвольным числом аргументов, однако по опыту программирования таких функций в программе - меньшинство.

          Добавлено
          Цитата Астарот @
          Положим не имеет, тот, кто вызывает тупой упырь не осиливший доку, и что это изменило?

          В случае если кто-то не осилил/не понял доку всегда должен быть компилятор и интерпретатор, который контролирует ошибки. К тому же возможна же ситуация, когда в библиотечной функции меняется число аргументов - в этом случае вместо сообщения об ошибке я получу неопределенное поведение.

          Добавлено
          Цитата Астарот @
          Третий отвалится из-за "х" в параметрах.

          Да ну!
          ExpandedWrap disabled
            sumArguments(1, "x", 0.5, true)
            "00123"

          Via http://jsconsole.com
            Цитата Мяут-Настоящий @
            А как они называются тогда? getsetVariable()? :)

            Лично тебе разрешаю начинать название любой функции с myaut_ :)

            Цитата Мяут-Настоящий @
            В Java, C/C++ и Python есть по сути три типа функций (хотя в Python все сложнее, но забудем пока про kwargs):
            - Без аргументов
            - С фиксированным числом аргументов
            - С произвольным числом аргументов
            Их семантика четко определяется в объявлении функции.

            Ты мне баки-то не забивай! Как едрос на дебатах - ему одно, а он другое :D Ты только что четко видел сколько параметров нужно функции, хотя при ближайшем рассмотрении оказалось что вся четкость сводится к "нужны параметры, или не нужны". Так ведь?

            Цитата Мяут-Настоящий @
            В JS - есть только один тип функции - с произвольным числом аргументов, однако по опыту программирования таких функций в программе - меньшинство.

            мать твоя женщина :facepalm: Еще раз - тебя эта способность функций к чему-нибудь обязывает? Как писателя? От тебя в связи с ее способностью принять ахринилеард параметров что-то требуется? Какие-то движения?

            Добавлено
            Цитата Мяут-Настоящий @
            В случае если кто-то не осилил/не понял доку всегда должен быть компилятор и интерпретатор, который контролирует ошибки. К тому же возможна же ситуация, когда в библиотечной функции меняется число аргументов - в этом случае вместо сообщения об ошибке я получу неопределенное поведение.

            Еще раз - с точки зрения написателя функции от тебя такое поведение требует каких-то телодвизжений?
              Ой, у вас еще и arguments не итерируемый (WTF?). Но результат все равно доставляет:
              ExpandedWrap disabled
                function sumArguments() {
                   s = 0;
                   for (var i = 0; i < arguments.length; i++)
                      s += arguments[i];
                 
                    return s;
                }

              ExpandedWrap disabled
                sumArguments(1, 2)
                3
                 
                sumArguments(1, "x", 0.5, true)
                "1x0.5true"

              :crazy:
                Цитата Мяут-Настоящий @
                Ой, у вас еще и arguments не итерируемый (WTF?). Но результат все равно доставляет:
                а это чтобы всяким противникам js жизнь медом не казалась ;)
                  Цитата Астарот @
                  Лично тебе разрешаю начинать название любой функции с myaut_ :)

                  Есть четкое понятие функций-accessor'ов, предоставляющих доступ к данным и функций, их модифицирующих. Зачем все в кашу-то мешать???
                  Цитата Астарот @
                  Ты только что четко видел сколько параметров нужно функции, хотя при ближайшем рассмотрении оказалось что вся четкость сводится к "нужны параметры, или не нужны". Так ведь?

                  Одна последовательность параметров произвольной длины - массив например какой-нибудь.
                  Цитата Астарот @
                  Еще раз - с точки зрения написателя функции от тебя такое поведение требует каких-то телодвизжений?

                  Конечно, если ты следуешь принципу "проектируйте свои интерфейсы так, чтобы их тяжело было использовать неправильно и легко использовать правильно".
                  Хотя наверно если ты продаешь код библиотеки с поддержкой тебе должно быть плевать на конечного пользователя, ога.
                  Цитата Астарот @
                  Еще раз - тебя эта способность функций к чему-нибудь обязывает? Как писателя?

                  Астя, программирование - это далеко не только написание кода.
                    Цитата Мяут-Настоящий @
                    Да ну!

                    Ы! Ты вообще смотрел что оно делает? :D sumArguments(10, 100, "s", 100500); даст все тот же результат :D
                      Цитата Астарот @
                      Ты вообще смотрел что оно делает? :D sumArguments(10, 100, "s", 100500); даст все тот же результат :D

                      А почему арифметическая функция возвращает строковой результат? Почему не объект или undefined например?
                        Цитата Астарот @
                        Датычо! Хочешь сказать, что если объявил
                        function f(a, b)
                        то это как-то гарантирует тебе вызов f как f(1,2), а не f(1,2,3) или f(1) или вообще f()? :)

                        Именно.
                          Цитата fatalist @
                          Тема отображена в разделе(ах): JavaScript, DOM/DHTML

                          С чего бы?
                            Цитата Мяут-Настоящий @
                            Есть четкое понятие функций-accessor'ов, предоставляющих доступ к данным и функций, их модифицирующих. Зачем все в кашу-то мешать???

                            Я один не понимаю как этот ответ соотносится с вопросом? :blink:

                            Цитата Мяут-Настоящий @
                            Одна последовательность параметров произвольной длины - массив например какой-нибудь.

                            "Какой-нибудь" это ОФИГЕННО конкретно и вселяет уверенность :D А почему не ровно три параметра с фамилией, именем и отчеством? И таки что меня защитит от передачи пользователем четвертого параметра? Или не передачи одного из первых трех?

                            Цитата Мяут-Настоящий @
                            Конечно, если ты следуешь принципу "проектируйте свои интерфейсы так, чтобы их тяжело было использовать неправильно и легко использовать правильно".
                            Хотя наверно если ты продаешь код библиотеки с поддержкой тебе должно быть плевать на конечного пользователя, ога.

                            Вместо прямого ответа на прямой вопрос ты ударился в рассуждения пополам с переходом на личности :) Молодец, подтверждаешь, что сказать нечего.

                            Добавлено
                            Цитата Мяут-Настоящий @
                            Астя, программирование - это далеко не только написание кода.

                            Ага, я знаю. только какое это имеет отношение к работе конструкции function не очень понятно :) Хотя звучит умнО, и отдает некими тайными знаниями :)
                              Цитата Мяут-Настоящий @
                              С чего бы?
                              А почему нет?
                                Цитата Мяут-Настоящий @
                                А почему арифметическая функция возвращает строковой результат? Почему не объект или undefined например?

                                мява, давай ты уже посмотришь что НА САМОМ деле делает твоя функция, а? :) А потом уже поговорим о том, что она возвращает.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 24 25 [26] 27 28 ...  65 66


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