Pull to refresh

Javascript от А и до…

Reading time 3 min
Views 3.6K
Начал замечать что на Хабре появляются статьи по программированию, может на это натолкнули фразы типа «хабр уже не тот», но это не так важно, потому как мне это нравится, всегда хотелось узнать что-то новенькое … моя первая статья привела к огромному краху, поэтому почитав людей, я повторю свои усилия и начну цикл заметок о JavaScript от самого начала и до тех пор, пока это будет востребовано =)

Итак часть первая: основы основ.
Для начала определимся с моими мнениями: я не мастер в теории, поэтому чтобы Вас не нагружать лишними названиями (я буду указывать сомнения), я буду много чего упрощать.
Типы данных:
boolean – булево значение, оно имеет 2 варианта, либо true (правда), либо false (ложь)
number – число, целое, либо с дробной частью.
string – строка, некая последовательность символов.
array – массив данных.
object – объект.
function – собственно функция.

обьявлять переменные можно при помощи ключевого слова var.
  1. var numberVariable = 4;
  2. var stringVariable = "text";
  3. var arrayVariable = new Array(1, 2);
  4. // есть и короткое обьявление массива
  5. var arrayVariable2 = [1, 2];
  6. var objectVariable = new someClass();
  7. // и опять же короткое обьявление
  8. var objectVariable2 = { 'key': 'value', key2: 'value2' }
  9. // кавычки у второго ключа я пропустил не по ошибке,
  10. // если не используете ключевые слова то на ключах их можно не ставить, хотя лучше это делать
* This source code was highlighted with Source Code Highlighter.

а можно обьявлять и без var
numberVariable = 4;
stringVariable = “text”;
так они становятся глобальными и видны везде

есть так же некоторые специальные значения:
NaN – это значение, которое обозначает «не число» (Not a Number). Оно появляется при арифметических операциях, когда результат получается не числовой.
null – ничего (пустое значение).
undefined – это значение указывает что переменная(свойство) не существует, или у переменной нет значения (в отличии от null, где переменная имеет значение, но пустое),
Infinity — бесконечность (которое получается при 1/0) (спасибо 1602 за напоминание)

NaN получить очень просто: parseInt(«q») + 5; // parseInt — переводит другие типы в число
что бы проверить переменную на существование, нужно ее сравнить с undefined
  1. if( undefined === someVar )
  2. {
  3.   // если переменной нет, мы ее создаем
  4.   var someVar = 1;
  5. }
* This source code was highlighted with Source Code Highlighter.

но есть одно но, если JS ни разу не слышал ничего об этой переменной, то будет ошибка, сразу возникает вопрос, что за нафик? И как этого избежать, если нужно проверить переменную? Избежать этого можно следующим образом:
  1. if( undefined === window.someVar )
  2. {
  3.   // все глобальные переменные – свойства “главного” объекта window
  4.   // такой способ работает только с глобальными переменными
  5.   var someVar = 1;
  6. }
* This source code was highlighted with Source Code Highlighter.


на последок еще пару слов о var: пример как var может помешать ожиданиям:
  1. function makeSomeAction( someVariable )
  2. {
  3.   for( q = 0; q < 3; q++ )
  4.   {  
  5.     alert( someVariable );
  6.   }
  7. }
  8.  
  9. for( q = 0; q < 3; q++)
  10. {
  11.   makeSomeAction( q );
  12. }
* This source code was highlighted with Source Code Highlighter.

многие будут ожидать результат: 000111222, но на самом деле результат будет 000 … все изменит лишь var внутри функции, который отделит внешнюю q от внутренней в функции

вот и конец первой части, дальше я расскажу немного о простых типах (число, строка, булевы переменные), некоторых способах работы с ними и о приведении типов
Tags:
Hubs:
+59
Comments 320
Comments Comments 320

Articles