<MyRusakov.ru />

Программирование на C# с Нуля до Гуру

Программирование на C# с Нуля до Гуру

Данный курс научит Вас программировать на языке C#, который является одним из самых востребованных языков программирования в мире. Курс состоит из 7 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики. Дополнительно, почти к каждому уроку идут упражнения.

Помимо самого курса Вас ждут ещё 3 бесплатных ценных Бонуса: «Технология Windows Presentation Foundation», «Создание библиотеки классов» и «Правильная работа со справочником».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Странный JavaScript ?! Как передавать аргументы в parseInt

Странный JavaScript ?! Как передавать аргументы в parseInt

JavaScript необычайно простой, но в тоже время сложный язык. Особенную сложность языку придают на первый взгляд далеко не очевидные особенности, являющиеся одновременной и сильной и слабой стороной языка.

Вот например, что выведет следующий кусочек кода, как думаете?

['1','2','3'].map(parseInt)

Вы наверное скажите, что все числа будут преобразованы в их исконный числовой вариант:

[1,2,3]

Однако не все так просто, после того как вы выполните данный кусок кода в консоли браузера вы получите следующий результат:

[1,NaN,NaN]

Почему же так происходит? А все потому, что при следующем вызове:

['1','2','3'].map(parseInt)

в функцию parseInt неявно (!) передается еще и второй аргумент (индекс значения), в результате чего (предполагаемый нами) вызов функции

['1','2','3'].map(parseInt)

превращается JavaScript транслятором в

['1','2','3'].map( (value,index) => parseInt(value,index) );

, где value - значение, а index позиция элемента в массиве. А второй аргумент для parseInt как известно это система счисления, в которую будет переводится строковое представление value. И поэтому получается, что при каждом новом вызове данной функции, значение которое мы хотим преобразовать в число, преобразуется в число в системе счисления index. Т.е. вместо десятеричной системы счисления у нас 0, 1, 2 и так далее.

Таким образом, чтобы представленный в самом начале кусок кода сработал вызывать его необходимо следующим образом:

['1','2','3'].map( value => parseInt(value) );

На этом все, будьте внимательны при работе с JavaScript и спасибо за внимание!

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.