icon Посты по тегу javascript

Приведение типов в JavaScript

Приведение типов может понадобиться, если нам нужно вернуть данные определённый типа. Банальный пример, нужно вернуть true, если элемент есть на странице, иначе false.

На jquery:

if($('#findID').length == 1))
    return true;
else
    return false;

Лично мне больше нравится вариант:

return toBoolean($('#findID').length);

 

Окончания существительных при использовании их с числительными на php и js

В русском языке существительные с числительными могут быть в единственном и множественном числе: один арбуз, два арбуза, пять арбузов. Различные существительные при склонении имеют разные окончания. Но, при сопряжении с числительным, у существительного может быть всего 3 формы с различными окончаниями.

Нам нужно выводить в следующем виде:

  • 0 комментариев
  • 1 комментарий
  • 2 комментария
  • 3 комментария
  • ...
  • 6 комментариев
  • ...

Задача 1. Написать PHP-функцию, которая это реализует.

Задача 2. Написать JS-функцию, которая это реализует.

Отсчёт времени на js, учитывая UTC

Шкалу времени UTC ввели взамен шкалы GMT ещё в 1972 году.

Для всех гражданских нужд сейчас используется именно шкала UTC, и часовые пояса обозначаются сдвигом относительно UTC: UTC+3, UTC+4. Шкала GMT уже никем не поддерживается. Все источники времени (хоть NTP-серверы в инете, хоть GPS-спутники, хоть наземные станции точного времени) сейчас поставляют время только в UTC. Использовать GMT вместо UTC уже давно неверно (ладно ещё в 70-х и 80-х годах прошлого века это делали по старой привычке, но в 21-м веке это уж совсем недопустимо). Тот факт, что в настройках времени Windows часовые пояса обозначены по непонятным причинам через GMT, — это фэйл их разработчиков и нарушение международных стандартов. Они почему-то тупили и исправили эту ситуацию только в Win7 и Win2008-R2 (там уже время обозначено через UTC).

Сделаем вывод текущего времени в браузере средствами js. Вывод времени должнен быть в real time. Если в операционной системе время настроено не верно, то и в браузере будет выводиться не верное время. Также будет указано смещение относительно времени сервера. Время сервера предварительно получаем с помощью php-функции date().

Вычитание unsigned INT в javascript

Хотел написать код на javascript, выполняющий то же самое что уже написанный на C++ код. Столкнулся с очень многими нюансами, один из которых это разница в вычитании UNSIGNED INT типов.

Например, в С/С++ подобных языках в случае если переменные INT объявлены unsigned.

1 - 115 = 4294967182

std::cout << "1-115: " + std::to_string((unsigned int)1-(unsigned int)115) + "\n"; //выведет: 4294967182

При попытке повторить то же самое на javascript. На javascript результатом вычитания будет:

1-115

-114 или же 114 если взять abs.

С использованием bigInt библиотеки (или без нее) будет 114 (ну или минус 114 если взять abs).

Собственно, моя цель при вычитании получать в JavaScript точно такое же значение как получаю в C++ : 4294967182.

Переполнение unsigned INT C++ пример на аналоговых часах

 

НОВЫЕ ПОЛЬЗОВАТЕЛИ