Чтение этой статьи требует опыта программирования на других языках.
Прежде чем начать учиться
Большинство языков программирования имеют хорошие части и плохие части. В этой статье рассказывается только о хороших частях JavaScript, потому что:
1. Просто изучение лучшей части может сократить время обучения
2. Написанный код более надежный
3. Записанного кода легче читать
4. Написанный код легче поддерживать
Слабые и сильные типы
Вообще говоря, чем раньше вы исправляете ошибку, тем меньше цена вы платите за нее. Компиляторы сильно напечатанных языков могут проверить определенные ошибки во время компиляции. JavaScript-это язык слабого типа, и его интерпретатор не может проверить ошибки типа, но практика показывает, что:
1. Ошибки, которые сильно напечатали, могут избежать не те критических ошибок
2. Слабые типы могут принести гибкость без необходимости нести бремя сильных типов
Связанные с Javascript стандарты
Стандарт ECMA-262 определяет язык Ecmascript. JavaScript и ActionScript, как мы знакомы, основаны на Ecmascript. В настоящее время мейнстрим использует ECMA-262 версию 5, а двигатель Google V8 является реализацией этого.
Привет, JavaScript
JavaScript - это язык сценариев, который требует интерпретатора и выполнения интерпретатора. Вы можете объяснить JavaScript в браузере или напрямую использовать Node.js, который интегрирует двигатель Google V8 JavaScript. Поскольку node.js очень удобен в использовании, я использую здесь node.js, чтобы объяснить выполнение JavaScript. Теперь посмотрите на первую программу JavaScript:
Кода -копия выглядит следующим образом:
// test.js
console.log ("Hello JavaScript");
Выполнить эту программу:
Кода -копия выглядит следующим образом:
Узел Test.js
грамматика
Комментарии
JavaScript использует тот же метод аннотации, что и C ++, // для однолинейной аннотации, / * * / для мульти-линейной аннотации.
Тип числа
JavaScript имеет только один тип численного типа, который представляет собой 64-разрядное число плавающей запятой. Тип числа имеет два специальных значения: NAN и Infinity. Значение NAN не является числом (не числом). Используйте функцию Isnan, чтобы проверить, является ли это NAN. Значение Бесконечности означает бесконечность. В математическом объекте существует набор методов для манипуляции чисел: метод Math.foor используется для округления.
Нить
Строка буквала может быть обернута в одиночные или двойные кавычки, и используются сбежавшие символы (ничем не отличающиеся от многих других языков). Каждый символ в JavaScript представляет собой два байта, который использует набор символов Unicode. Строка имеет атрибут длины:
Кода -копия выглядит следующим образом:
«Привет» .length // Значение - 5, обратите внимание, что это не "привет" .length ()
Строки не могут быть изменены (как Lua). В дополнение к атрибуту длины, упомянутым здесь, есть некоторые методы, такие как:
Кода -копия выглядит следующим образом:
'cat'.touppercase () ===' cat '
Заявление
Оператор var используется для объявления локальных переменных, в противном случае переменная является глобальной переменной, а значение ненициализированной переменной не определено:
Кода -копия выглядит следующим образом:
функция f () {
var localvar = 123;
GlobalVar = 456;
var i; // значение I не определен
};
f ();
console.log (GlobalVar); // ХОРОШО
Console.log (LocalVar); // ошибка, локальныйвар не определяется
Набор операторов, завернутых {}, называется блоком операторов. В отличие от других языков, функции в JavaScript не будут создавать новые области, например:
Кода -копия выглядит следующим образом:
{
var v = 123;
}
console.log (v); // ХОРОШО
Если утверждение
Кода -копия выглядит следующим образом:
if (выражение)
заявление
или
Кода -копия выглядит следующим образом:
if (выражение)
Заявление1
еще
Заявление2
или
Кода -копия выглядит следующим образом:
if (выражение1)
Заявление1
иначе if (Expression2)
Заявление2
иначе if (выражение3)
Заявление3
еще
Заявление4
Оператор IF решает выполнить или пропустить определенные утверждения, судя о том, что значение выражения является истинной или ложным. В JavaScript следующие значения являются ложными (другие значения верны):
1.false
2.null
3. Сундефицирован
4. пустая строка
5.0
6.nan
Заявление в IF может быть оператором или блоком операторов.
оператор переключения
Кода -копия выглядит следующим образом:
Switch (n) {
Случай 1: // Если n равен 1
// выполнить кодовый блок
перерыв;
Случай 2: // Если N равен 2
// выполнить кодовый блок
перерыв;
по умолчанию: // Если n не 1 и 2
// выполнить кодовый блок
перерыв;
}
Здесь перерыв используется для выхода из цикла или оператора переключения. В JavaScript есть два оператора, которые сравнивают, равны ли два значения:
1. == (соответствует! = Оператор), равны, и два типа операндов различны. Этот оператор пытается преобразовать тип операнда перед сравнением, например:
Кода -копия выглядит следующим образом:
var x = 1;
x == 1; // истинный
x == "1"; // истинный
2
Кода -копия выглядит следующим образом:
var x = 1;
x === 1; // истинный
x === "1"; // ЛОЖЬ
Следует отметить, что NAN и любое значение не равны. Если x - это Nan, то x! == x (только для NAN). Мы можем реализовать функцию ISNAN таким образом:
Кода -копия выглядит следующим образом:
функция isnan (n) {
вернуть n! == n;
}
Приведенный выше оператор переключения преобразуется в оператор IF AS:
Кода -копия выглядит следующим образом:
if (n === 1)
// ...
иначе if (n === 2)
// ...
еще
// ...
в то время как и делайте заявления
Кода -копия выглядит следующим образом:
В то время как (выражение)
заявление
Если выражение является истинной, повторить утверждение, пока выражение не станет ложным.
Кода -копия выглядит следующим образом:
делать
заявление
в то время как (выражение);
Подобно циклу, сначала он просто выполняет оператор, а затем проверяет условное выражение.
для заявления
Кода -копия выглядит следующим образом:
для (инициализировать; тест; приращение)
заявление
Во -первых, инициализация выполняется один раз (обычно используется для инициализации переменных цикла), а затем тест на условие испытания (обычно используется для тестирования переменных цикла), если условие испытания является ложным, то петля останавливается, в противном случае оператор выполняется, а затем увеличение (обычно используется для обновления переменных цикла), а затем выполняется тест на условия тестирования, поэтому LOOP продолжается. Пример использования:
Кода -копия выглядит следующим образом:
для (var i = 0; i <5; ++ i) {
console.log (i);
}
Другая форма для перечисления всех имен атрибутов объекта:
Кода -копия выглядит следующим образом:
для (переменная в объекте)
заявление
пример:
Кода -копия выглядит следующим образом:
var obj = {
A: 1,
b: 2,
C: 3
};
для (имя var in obj)
console.log (имя);
Следует отметить, что мы используем метод HasownProperty, чтобы проверить, является ли имя свойства объекта или найдено в цепочке прототипа (цепочка прототипа, прототип будет введен в следующей статье):
Кода -копия выглядит следующим образом:
для (var in obj) {
if (obj.hashownproperty (var)) {
// ...
}
}
ОТВЕТСТВЕННОЕ ОТПРАВЛЕНИЕ
Оператор возврата используется для того, чтобы функция возвращала значение. Если функция явно не использует возврат, то она возвращает неопределенную:
Кода -копия выглядит следующим образом:
Функция f () {}
var v = f (); // v === не определено
?: Условный оператор (единственный тройной оператор в JavaScript)
?: Условные операторы существуют во многих языках программирования. Когда первый операнд верен, оператор возвращает значение второго операнда, в противном случае возвращается значение третьего операнда. Пример:
Кода -копия выглядит следующим образом:
функция abs () {
вернуть x> 0? x: -x;
}
Оператор типа
Оператор TypeOF используется для получения типа переменной, а его возвратное значение включает в себя:
1.'number '
2.'string '
3.'boolean '
4.''ndefined '
5.'ffination '
6.'object '
Результатом, возвращаемым специальным типом нуля, является «объект». Примеры типа:
Кода -копия выглядит следующим образом:
var a = typeof 'hello'; // a === 'String'
var b = typeof null; // b === 'объект'
+ Оператор
Оператор + может использоваться в JavaScript для операций с добавлением или конкатенации строки:
Кода -копия выглядит следующим образом:
var message = 'hello' + 'world'; // сообщение === 'Helloworld'
&& и || операторы
Оператор && возвращает значение первого операнда, когда первый операнд является ложным, в противном случае он возвращает значение второго операнда.
|| Оператор возвращает значение первого операнда, когда первый операнд верен, в противном случае он возвращает значение второго операнда.
Кода -копия выглядит следующим образом:
var a = 1 && true; // a === true
var b = 1 || ЛОЖЬ; // b === 1
|| Идиома:
Кода -копия выглядит следующим образом:
имя = имя || 'неизвестный'; // Установить значение по умолчанию «неизвестно» для имени