Я до сих пор помню дни отладки проблемы CORS, когда я собирал несколько проектов, используя JavaScript (& ajax), «очень специфический язык программирования», на мой первый взгляд. Недавно у меня появилась прекрасная возможность. Новая роль использует JS, скрипт на стороне браузера, который сейчас выигрывает со всех сторон, в качестве основного языка. Так что я воспринял это как хороший шанс изучить JS более систематически, и эта серия статей станет частью моего исследования. Как следует из названия, я не буду рассматривать первичный уровень, такой как «if, else» (условие), «for» (или любые виды циклов) или базовые концепции ООП. Вместо этого я сосредоточусь только на различиях, чтобы вы могли изучить этот универсальный язык, например, просмотреть запрос на перенос, и использовать его на следующий день в своем следующем потрясающем проекте.

- Некоторые основы
- Строка и массив
- Это
- Объект (Словарь)
- Прототип (1)
- Прототип (2)
- Асинхронный

Во-первых, в JavaScript строки являются постоянными, а массивы изменяемыми.

Пример:

var str = "123";
str[0] = "0";
alert(str);
var arr = [1, 2, 3];
arr[0] = "0";
alert(arr);

Результат:

123
0,1,3

Кстати, строки помечаются "", '' или `` (определение многострочного кода), а массивы - [].

Еще примеры:

var str = "123";
str.length = 10;
alert(str);
var arr = [1, 2, 3];
arr.length = 10;
alert(arr);
alert(arr[3]);

Результаты:

123
1,2,3,,,,,,,
undefined

Интересно, что если вы измените длину массива принудительно, среда выполнения JavaScript автоматически добавит undefined в массив. Но строки не могут быть изменены таким образом, потому что, как упоминалось в начале, они являются константами.

Escape-символ \

В JavaScript также используется \ для экранирования специальных символов (например, " внутри строки, помеченной ").

Пример:

alert("\"");
alert("a\nb");
alert("a\tb");

Результат:

"
a
b
a    b

поэтому \" представляет собой литерал "; \n означает новую строку и `\ t, табуляцию. Найдите в Google полный список по запросу «специальные символы JavaScript».

Мы можем напрямую использовать ASCII и Unicode в строках с \, как мы это делали в C. Но я не буду вдаваться в подробности, так как не вижу очевидного варианта использования этой функции на языке высокого уровня.

Конкатенация

Для строк мы используем + или шаблон строки:

var js = "JavaScript";
var message1 = "I like " + js;  //using +
alert(message1);
var message2 = `and ${js}'s particularities`; //using template
alert(message2);

Результат:

I like JavaScript
and JavaScript's particularities

Обратите внимание, что в шаблоне строки следует использовать серьезный ударение (`), а не апостроф (‘).

Для массива используйте concat()

var arr = ['a', 'b', 'c'];
var added = arr.concat(['d', 'e', 'f']);
alert(added);

Результат:

a,b,c,d,e,f

Элементы доступа

Используйте [] для обоих:

var arr = ['a', 'b', 'c'];
var str = "abc";
alert(arr[0]);
alert(str[0]);

Результат:

a
a

Поиск

Используйте indexOf() для обоих.

var arr = ['abc', 'xyz', 123, 789];
alert(arr.indexOf(123));
alert(arr.indexOf('xyz'));
alert(arr.indexOf(789));
alert(arr.indexOf('abc'));
var str = "abcxyz";//a=>0 b=>1 c=>2 x=>3
alert(str.indexOf('xyz'));

Результат:

2
1
3
0
3

Нет объяснения…

Подстрока и подмассив

Используйте substring() для строки и slice() для массива.

Пример:

var str = "abcxyz";//a=>0 b=>1 c=>2 x=>3 y=>4 z=>5
alert(str.substring(0, 5));// does not include 5(z)
alert(str.substring(3));//start from 3(x) to the end
var arr = ["a", "b", "c", "x", "y", "z"];
alert(arr.slice(0, 5));// does not include 5(z)
alert(arr.slice(3));//start from 3(x) to the end

Результат:

abcxy
xyz
a,b,c,x,y
x,y,z

Я надеюсь, что этот пост вселит в вас достаточно уверенности, чтобы использовать эти две структуры (типы) данных повседневной жизни.

Спасибо за чтение, увидимся в следующий раз.