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

    Ну да, но это не всегда то, что нужно (как например в случае со строками и коллекциями)
      Цитата korvin @
      Ну да, но это не всегда то, что нужно (как например в случае со строками и коллекциями)

      Бесспорно. Я просто о том, что это тема отлична от == и === в джаваскрипте.
        Цитата fatalist @
        Цитата D_KEY @
        Разве тебе не кажется, что правильно так:
        Если судить по C/C++, то да...
        А если JS, то нет...

        Это был питон. Такой же динамический язык. Более того, в нем даже var нет.

        Цитата
        Да во всех ситуациях, когда это не объект, это не является ошибкой, поскольку я в любом месте могу присвоить любое значение...

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

        Добавлено
        Цитата Астарот @
        Ошибкой эту "ошибку" пока считаешь только ты - те, кто имеют с этой "ошибкой" дело каждый день ее таковой не считают.

        В таком случае, я в очередной раз прошу пример кода, где использование неизвестной переменной не является ошибкой. Под "ошибкой" я имею в виду не свое личное мнение, а отклонение от предполагаемой логики работы кода.
        Сообщение отредактировано: D_KEY -
          Цитата MyNameIsIgor @
          Бесспорно. Я просто о том, что это тема отлична от == и === в джаваскрипте.

          Она отлична в конкретике реализаций этих операций, но фактически мы также имеем два разных по внутреннему смыслу метода сравнения эквивалентности объектов =) Но это все детские шалости по сравнению с CL, где таких методов аж четыре =))
            Цитата D_KEY @
            В таком случае, я в очередной раз прошу пример кода, где использование неизвестной переменной не является ошибкой. Под "ошибкой" я имею в виду не свое личное мнение, а отклонение от предполагаемой логики работы кода.
            ну например
            ExpandedWrap disabled
              element.onclick = function(e) {
                  var evt = e || event;
              }
            event - нигде не объявляется, он либо есть, либо 'undefined'...
              Цитата D_KEY @
              В таком случае, я в очередной раз прошу пример кода, где использование неизвестной переменной не является ошибкой. Под "ошибкой" я имею в виду не свое личное мнение, а отклонение от предполагаемой логики работы кода.

              Блин, я даже уже не знаю :wall: Как насчет так:
              ExpandedWrap disabled
                if ( a == 'undefined')
                {
                  return addError(' Ошибка: при использовании метода method необходимо задать входной параметр ');
                }

              Считай используем указанную особенность. пойдет?
                Цитата fatalist @
                ну например
                ExpandedWrap disabled
                  element.onclick = function(e) {
                      var evt = e || event;
                  }
                event - нигде не объявляется, он либо есть, либо 'undefined'...

                Поясни, плиз, зачем так делать и как это будет интерпретироваться в случае undefined.

                Добавлено
                Цитата Астарот @
                Считай используем указанную особенность. пойдет?

                Ээ, по-моему ты здесь не возможность эту используешь, а как раз наоборот, предотвращаешь последствия такой возможности. Нет?
                Сообщение отредактировано: D_KEY -
                  Цитата D_KEY @
                  Поясни, плиз, зачем так делать и как будет интерпретироваться.
                  У некоторых браузеров есть глобальный event, а некоторые передают его в функцию обработчик...
                  а нам он нужен в любом случае, вот и смотрим, если есть одно, то берем, если нет, берем другое...
                    Цитата D_KEY @
                    Поясни, плиз, зачем так делать и как будет интерпретироваться.

                    В js в обработчик события передается "объект event" который содержит дофига информации о произошедшем событии. Но в ie пошли своим путем - там в обработчик нифига не передается, за то есть глобальный объект event :D Ну. вот этот код и разруливает такое противоречие между браузерами.
                      По поводу кроссбраузерности есть вообще несметное количество разных свойств разных объектов, которые отличаются в разных браузерах... и данная конструкция самая простая...
                      Сообщение отредактировано: fatalist -
                        D_KEY подвис что ли от такой фигни? :)
                          Цитата Астарот @
                          D_KEY подвис что ли от такой фигни? :)
                          оффлайн... пережевывает пока видимо 8-)

                          Добавлено
                          В прикол по php, угадайте, что выведет данный код (кто знает, не подсказывать :) ):
                          ExpandedWrap disabled
                            //никаких define('SOMEVAR'); выше нету
                            echo SOMEVAR;
                            Цитата fatalist @
                            Цитата D_KEY @
                            В таком случае, я в очередной раз прошу пример кода, где использование неизвестной переменной не является ошибкой. Под "ошибкой" я имею в виду не свое личное мнение, а отклонение от предполагаемой логики работы кода.
                            ну например
                            ExpandedWrap disabled
                              element.onclick = function(e) {
                                  var evt = e || event;
                              }
                            event - нигде не объявляется, он либо есть, либо 'undefined'...

                            Pythonic-way:
                            ExpandedWrap disabled
                              if 'event' in globals():
                                  e = event;


                            Для объектов так:
                            ExpandedWrap disabled
                              if 'event' in dir(o):
                                  e = o.event;


                            :rolleyes:
                            Сообщение отредактировано: Мяут-Настоящий -
                              Цитата Мяут-Настоящий @
                              Pythonic-way:
                              и чито из этого должно следовать? что нам для этого нужны какие-то дополнительные методы?
                                fatalist, главное отличие Pythonic-way, что возможны два состояния: либо мы явно проверяем наличие той или иной переменной в области видимости либо явно получаем исключение при тестировании. В случае же с undefined возможны неочевидные ситуации, которые могут приводить к ошибкам в последствии.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 15 16 [17] 18 19 ...  65 66


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