Побитовый оператор
Побитовые операторы обрабатывают свои операнды как последовательность из 32 битов (нули и единицы), а не как десятичные, шестнадцатеричные или восьмеричные numbers
. Например, десятичное число девять имеет двоичное представление 1001
. Побитовые операторы выполняют свои операции над такими двоичными представлениями, но возвращают стандартные числовые значения JavaScript.
console.log(5 & 13); // 0101 & 1101 = 0101 // expected output: 5; console.log(parseInt('0101', 2) & parseInt('1101', 2)); // expected output: 5;
Как найти название дня по заданной дате?
function getDayName(dateString) { let dayName; // Write your code here const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; const date = new Date(dateString); dayName = days[date.getDay()]; return dayName; } getDayName("5 / 15 / 2020") //Friday
Выражение регулярного выражения
Регулярные выражения используются в языках программирования для сопоставления частей строк. Вы создаете шаблоны, чтобы помочь вам сделать это сопоставление.
Если вы хотите найти слово "the"
в строке "The dog chased the cat"
, вы можете использовать следующее регулярное выражение: /the/
. Обратите внимание, что в регулярном выражении не требуются кавычки.
В JavaScript есть несколько способов использования регулярных выражений. Один из способов проверить регулярное выражение — использовать метод .test()
. Метод .test()
принимает регулярное выражение, применяет его к строке (которая помещена в круглые скобки) и возвращает true
или false
, если ваш шаблон что-то находит или нет.
let testStr = "freeCodeCamp";
let testRegex = /Code/;
testRegex.test(testStr);
// Returns true
Условное утверждение: переключатель
Оператор switch
используется для выполнения различных действий в зависимости от различных условий. Используйте оператор switch
, чтобы выбрать один из многих блоков кода для выполнения.
Мы можем использовать оператор switch, чтобы найти название дня, подобное этому.
switch (new Date().getDay()) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; case 2: day = "Tuesday"; break; case 3: day = "Wednesday"; break; case 4: day = "Thursday"; break; case 5: day = "Friday"; break; case 6: day = "Saturday"; }
Массив.прототип.сортировка()
Метод sort()
сортирует элементы массива по месту и возвращает отсортированный массив. Порядок сортировки по умолчанию — восходящий, основанный на преобразовании элементов в строки и последующем сравнении их последовательностей значений кодовых единиц UTF-16.
const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // expected output: Array ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // expected output: Array [1, 100000, 21, 30, 4]
Строка.прототип.заменить()
Метод replace()
возвращает новую строку, в которой некоторые или все совпадения pattern
заменены на replacement
. pattern
может быть строкой или RegExp
, а replacement
может быть строкой или функцией, вызываемой для каждого совпадения. Если pattern
является строкой, будет заменено только первое вхождение.
Исходная строка остается неизменной.
const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?'; const regex = /dog/gi; console.log(p.replace(regex, 'ferret')); // expected output: "The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?" console.log(p.replace('dog', 'monkey')); // expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"
Итерация по массивам
Основной цикл for: мы можем использовать стандартный цикл for для перебора элементов массива.
const arr = ['a', 'b', 'c', 'd']; // 'i' is the index for (let i = 0; i < arr.length; i++) { console.log('arr[' + i + ']: ' + arr[i]); }
Операция for…in. Оператор for…in выполняет итерацию по перечислимым свойствам объекта в произвольном порядке, что позволяет нам выполнять инструкции для каждого отдельного свойства. В случае массива свойством будут его элементы. В случае объекта это будут его свойства.
const o = ['first', 'second', false]; // 'p' is the index for (let p in o) { console.log(p + ' ' + o[p]); }
Метод forEach.Метод forEach перебирает массив и для каждого элемента выполняет функцию один раз.
const arr = ['a', 'b', 'c', 'd']; arr.forEach((value, index, array) => { console.log('index', index, 'has a value of', value, 'which correlates to array[' + index + ']:', array[index]); }); arr.forEach((value, index) => { console.log('index', index, 'has a value of', value); }); arr.forEach((value) => { console.log('value:', value); });
Даты в JavaScript
Экземпляр даты JavaScript представляет собой один момент времени, основанный на количестве миллисекунд, прошедших с 1 января 1970 года по всемирному координированному времени.
Создание экземпляра даты
1.Использование new Date()
Конструктор по умолчанию создает объект JavaScript Date для текущей даты и времени (в соответствии с настройками вашей системы).
2.Использование new Date(value)
Этот конструктор имеет параметр «значение», который представляет собой целое число, представляющее количество миллисекунд, прошедших с 00:00:00 1 января 1970 года.
3. Использование new Date(dateString)
Этот конструктор имеет параметр «dateString», который представляет собой строку, описывающую дату. «Строка даты» должна быть в формате, распознаваемом функцией Date.parse()
, например MM/DD/YYYY
или Month Day, Year
. Например, 01/01/1980
и Jan 1, 1980
— это строки, которые можно успешно проанализировать с помощью функции parse.
Ошибка выполнения (исключение)
Этот тип ошибок, обычно называемый исключениями, возникает во время выполнения (т. е. после компиляции или интерпретации).
При обнаружении ошибки во время выполнения генерируется исключение в надежде, что оно будет перехвачено последующим разделом кода, содержащим инструкции по устранению ошибки.
Подобно синтаксическим ошибкам, они влияют на поток, в котором они произошли, но позволяют другим, независимым потокам продолжать нормальное выполнение. Например, рассмотрим следующий код, содержащий ошибку времени выполнения:
function sum(a, b) {} add(2, 3)
Это приводит к следующей ошибке: ReferenceError: add is not defined
. Это связано с тем, что мы пытались вызвать функцию add, даже не объявляя и не определяя ее.
Логическая ошибка
Это одни из самых трудных для изоляции ошибок, потому что они заставляют программу работать без остановки или сбоя, но операции, выполняемые кодом, неверны.
В отличие от ошибок синтаксиса и времени выполнения, которые возникают из-за некоторого нарушения правил языка, эти ошибки возникают, когда есть ошибка в логике вашего кода.
function sum(a, b) { var result = a - b; console.error("The sum of " + a + " and " + b + " is " + result); return result; }
Следующая строка будет напечатана в нашей консоли ошибок во время выполнения: The sum of 2 and 3 is -1
. Это делает очевидным во время отладки, что существует логическая проблема с тем, как наша функция вычисляет сумму «a» и «b».
Надеюсь, эта информация поможет вам ускорить ваше путешествие для дальнейшего решения различных проблем с кодированием. Надеюсь на лучшее. Удачного кодирования.