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

    Как и динамическая и слабая типизация. Только зависимые типы, только хардкор! =)
      Цитата korvin @
      Как и динамическая и слабая типизация.
      Об этом и речь. Ох уж эти ООПнутые, так и норовят везде засунуть эту свою инкапсуляцию, наследование и прочий полиморфизм, даже там, где оно нужно как рыбе зонтик. :)
        Парам-парам-пам!

        ExpandedWrap disabled
          > x = ['10','10','10']
          [ '10', '10', '10' ]
          > x.map(parseInt)
          [ 10, NaN, 2 ]


        Не помню, было уже или нет.
          :lool:

          Добавлено
          зато работает это:
          ExpandedWrap disabled
            x.map(parseFloat)
            Цитата korvin @
            Парам-парам-пам!

            ExpandedWrap disabled
              > x = ['10','10','10']
              [ '10', '10', '10' ]
              > x.map(parseInt)
              [ 10, NaN, 2 ]


            Не помню, было уже или нет.

            Объясните мне, как такое может быть? :D
            Сообщение отредактировано: applegame -
              Цитата korvin @
              Парам-парам-пам!

              ExpandedWrap disabled
                > x = ['10','10','10']
                [ '10', '10', '10' ]
                > x.map(parseInt)
                [ 10, NaN, 2 ]


              Не помню, было уже или нет.

              Ну и жесть.
                Цитата applegame @
                Объясните мне, как такое может быть?

                да всё просто - это js

                Добавлено
                :D

                Добавлено
                просто вы не понимаете его прототипов
                  Цитата Serafim @
                  просто вы не понимаете его прототипов

                  А чего там понимать? Примитивнейшая вещь.
                  И да, прототипы здесь совершенно ни при чём. Дело в том, что map вызывает переданную функцию с тремя аргументами: текущим элементом, его индексом и собственно массивом, от которого мы вызвали map. А parseInt принимает два аргумента: строку и основание системы счисления, которое может не передаваться и тогда принимается за 10. Но map то туда передаёт индекс :rolleyes:
                  Сообщение отредактировано: MyNameIsIgor -
                    всё равно ты ничего не понимаешь!
                      Цитата Serafim @
                      всё равно ты ничего не понимаешь!

                      Иногда лучше жевать.
                        Т.е. korvin неправильно использует функции? Ну ок :)
                          Цитата D_KEY @
                          Т.е. korvin неправильно использует функции? Ну ок

                          Не я. Да, не правильно. Нет, это не отменяет идиотизма авторов такой функции map, ни в одном языке такого непотребства нет. =)
                            Ну это не так страшно - ты можешь написать свой map. А вот если бы там была какая-нибудь запутанная логика, вроде хитростей при работе с массивом и/или строками, вот тогда было бы совсем печально.
                              Цитата D_KEY @
                              Ну это не так страшно - ты можешь написать свой map

                              Угу, как-то так
                              ExpandedWrap disabled
                                Array.prototype.map = (function()
                                {
                                    var original = Array.prototype.map;
                                    return function(fun)
                                    {
                                        return original.call(this, function(arg) { return fun(arg); } );
                                    };
                                })();
                                var x = ['10','10','10'];
                                print(x.map(parseInt));

                              :crazy:
                              Сообщение отредактировано: MyNameIsIgor -
                                Цитата MyNameIsIgor @
                                Array.prototype.map

                                ага ага,
                                ExpandedWrap disabled
                                  for (i of x) { console.log(i); }
                                что у тебя выдаст? :huh:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 63 64 [65] 66 


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1464 ]   [ 15 queries used ]   [ Generated: 25.08.26, 01:56 GMT ]