
Я до сих пор помню дни отладки проблемы 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
Я надеюсь, что этот пост вселит в вас достаточно уверенности, чтобы использовать эти две структуры (типы) данных повседневной жизни.
Спасибо за чтение, увидимся в следующий раз.