кодесурса
«Javascript

JavaScript: переменные, константы, тип данных и зарезервированные слова

script1adsense2code
script1adsense3code

Переменные JavaScript

В нашей школьной жизни мы узнали о переменных и уравнениях в алгебре. Предположим, что a = 30, b = 12 и c = ab, тогда c = 18, т.е. переменные типа a, b, c хранят числа. В JavaScript и других языках программирования переменная содержит значения (часть информации) и хранится в памяти компьютера, которая может изменяться.

Стандарт: ECMA-262

Содержание:

Допустимые имена идентификаторов

  • Первый символ должен быть UnicodeLetter, подчеркиванием (_), знаком доллара ($) или UnicodeEscapeSequence
  • Остальная часть имени может состоять из начального символа, UnicodeCombiningMark, UnicodeDigit, UnicodeConnectorPunctuation, <ZWNJ>, <ZWJ>
  • Имя переменной не может содержать пробел.
  • В JavaScript переменные чувствительны к регистру, поэтому emp_code отличается от Emp_Code.
  • Мы не должны использовать «резервные слова», такие как alert, var в качестве имени переменной. Смотрите список резервных слов.

UnicodeLetter: заглавная буква (Lu) , строчная буква (Ll) , заглавная буква (Lt) , буква модификатора (Lm) , другая буква (Lo) или номер буквы (Nl) .

UnicodeCombiningMark: Метка без пробелов (Mn), Метка объединения пробелов (Mc).

UnicodeDigit: десятичное число (Nd) , пунктуация соединителя (Pc) .

UnicodeEscapeSequence: escape-последовательности Unicode также разрешены в IdentifierName, где они вносят один символ.

Неверное имя переменной

  • var // var - зарезервированное слово.
  • 77employee // Начальный символ - число.
  • Переменная% name // символ% не допускается.
  • Имя и код // & не допускаются.

Допустимое имя переменной

  • employee_77
  • vARIABLE_NAME
  • Икс
  • Name_code
  • name_code
  • _emp_name

Проверьте, является ли переменная действительной или нет

Наиболее разумный подход для объявления переменных JavaScript

Всегда объявляйте переменные согласованным образом и в верхней части их области видимости. Рекомендуется хранить объявления переменных по одному на строку. Во-первых, один оператор var, несколько операторов var и согласованность по всему проекту.

// Bad Practice
var foo = 1,
    bar = 2;
var baz;
var pony;
var x
  , y;
//------------------------------
var foo = 1;
if (foo > 1) {
  var bar = 2;
}
// Good  Practice
var foo = 1;
var bar = 2;
var baz;
var pony;
var x;
var y;
//------------------------------
var foo = 1;
var bar;
if (foo > 1) {
  bar = 2;
}

Всегда используйте var для объявления переменных. Невыполнение этого приведет к глобальным переменным.

// bad
superPower = new SuperPower();
// good
var superPower = new SuperPower();

Объявите неназначенные переменные последними. Это полезно, когда позже вам может потребоваться назначить переменную в зависимости от одной из ранее назначенных переменных.

 // плохой
вар я, лен, драконий мяч,
    items = getItems (),
    goSportsTeam = true;
// плохой
вар я;
var items = getItems ();
вар драконбол;
var goSportsTeam = true;
вар лен;
// хорошо
var items = getItems ();
var goSportsTeam = true;
вар драконбол;
длина вар;
вар я;

Назначьте переменные в верхней части их области видимости. Это помогает избежать проблем, связанных с объявлением переменных и присвоением, связанных с подъемом.

// bad
function() {
  test();
  console.log('doing stuff..');
  //..other stuff..
  var name = getName();
  if (name ==='test') {
    return false;
  }
  return name;
}
// good
function() {
  var name = getName();
  test();
  console.log('doing stuff..');
  //..other stuff..
  if (name ==='test') {
    return false;
  }
  return name;
}
// bad - unnecessary function call
function() {
  var name = getName();
  if (!arguments.length) {
    return false;
  }
  this.setFirstName(name);
  return true;
}
// good
function() {
  var name;
  if (!arguments.length) {
    return false;
  }
  name = getName();
  this.setFirstName(name);
  return true;
}

Подъемно

Объявления переменных поднимаются до вершины своей области видимости, но их назначение - нет.

// we know this wouldn't work (assuming there
// is no notDefined global variable)
function example() {
  console.log(notDefined); // => throws a ReferenceError
}
// creating a variable declaration after you
// reference the variable will work due to
// variable hoisting. Note: the assignment
// value of `true` is not hoisted.
function example() {
  console.log(declaredButNotAssigned); // => undefined
  var declaredButNotAssigned = true;
}
// The interpreter is hoisting the variable
// declaration to the top of the scope,
// which means our example could be rewritten as:
function example() {
  var declaredButNotAssigned;
  console.log(declaredButNotAssigned); // => undefined
  declaredButNotAssigned = true;
}

Выражения анонимной функции поднимают имя своей переменной, но не присваивают функцию.

function example() {
  console.log(anonymous); // => undefined
  anonymous(); // => TypeError anonymous is not a function
  var anonymous = function() {
    console.log('anonymous function expression');
  };
}

Выражения именованных функций поднимают имя переменной, а не имя функции или тело функции.

function example() {
  console.log(named); // => undefined
  named(); // => TypeError named is not a function
  superPower(); // => ReferenceError superPower is not defined
  var named = function superPower() {
    console.log('Flying');
  };
}
// the same is true when the function name
// is the same as the variable name.
function example() {
  console.log(named); // => undefined
  named(); // => TypeError named is not a function
  var named = function named() {
    console.log('named');
  }
}

Оценка переменных

Переменная или элемент массива, которому не было присвоено значение, имеют значение undefined. Результат оценки неназначенной переменной зависит от того, как она была объявлена:

Если неназначенная переменная была объявлена с помощью var, результатом оценки будет неопределенное значение или NaN в числовом контексте.

Если неназначенная переменная объявлена без оператора var, оценка приводит к ошибке во время выполнения.

Смотрите следующие заявления:

var x;
  print("The value of x is : " + x); // prints "The value of x is : undefined" 
  print("The value of y is : " + y); // throws reference error exception

Вы можете использовать undefined, чтобы определить, имеет ли переменная значение.

В следующих инструкциях переменной x не присваивается значение, а в операторе if значение true.

var x;
if(x === undefined)
{ 
  do something ;
} 
else
{    
  do something ;
}

Использование переменных:

Переменные могут быть объявлены и использованы двумя способами локально и глобально. Когда вы объявляете переменную JavaScript внутри функции, она называется локальной переменной, потому что переменная доступна только внутри функции. Вы можете использовать одно и то же имя переменной в другой функции. Когда вы объявляете переменную вне функции, она называется глобальной переменной.

Вы можете опционально объявить глобальную переменную, используя var (например, var empCode). Однако вы должны использовать var для объявления переменной внутри функции.

Как проверить, существует ли переменная в JavaScript?

Чтобы проверить, определена ли переменная или нет, вы можете использовать оператор typeof . Следующее предупреждение вернет "undefined", т.е. переменная "abc" не определена.

Вы можете использовать следующую инструкцию if, чтобы проверить, определена ли переменная или нет:

if (typeof abc ==='undefined') {
    // variable abc is undefined
}

JavaScript: константы

В JavaScript константы объявляются с ключевым словом const и присваиваются во время объявления. Константа может быть глобальной или локальной для функции, в которой она объявлена

Константы доступны только для чтения, поэтому вы не сможете изменить их позже.

При именовании константы в JavaScript следует то же правило именования переменной, за исключением того, что ключевое слово const всегда требуется, даже для глобальных констант.

Если ключевое слово опущено, предполагается, что идентификатор представляет переменную.

Пример:
const country ='India';
//You cannot declare a constant with the same name as a function
// or variable in the same scope. Following statements create error.
function abc()
{
const abc = 55; 
}
function abc()
{ 
const x = 15; 
var x; 
}
 

JavaScript: тип данных

Значение - это часть информации, которая может быть числом, строкой, логическим значением, нулем и т. Д. JavaScript распознает следующие типы значений.

Типы Описание пример
строка Серия символов, заключенная в кавычки. Строка должна быть разделена кавычками того же типа, либо одинарными кавычками ('), либо двойными кавычками ("). "google.com", "yahoo.com"
чисел Любое числовое значение. Числа могут быть как положительными, так и отрицательными. 45, 45887, -45, 12,23, -145,55
Логическое (логическое) Логическая правда или ложь. Используйте для оценки, является ли условие истинным или ложным. правда, ложь
ноль Специальное ключевое слово, обозначающее нулевое значение (т. Е. Пустое значение или ничего). Поскольку JavaScript чувствителен к регистру, null - это не то же самое, что Null, NULL или любой другой вариант.
не определено Свойство верхнего уровня, значение которого не определено, не определено, также является примитивным значением.

JavaScript: преобразование типов данных

JavaScript - это динамически типизированный язык. Поэтому нет необходимости указывать тип данных переменной во время ее объявления. Типы данных автоматически конвертируются при выполнении скрипта.

Например, мы определяем возраст человека в переменной age следующим образом:

var age = 21 

Давайте сохраним строковое значение в указанной переменной.

age = "What is your age?"

Поскольку JavaScript типизируется динамически, указанное назначение не создает никакой ошибки.

JavaScript: выражения

Следующие выражения содержат строковые значения, числовые значения и оператор +. JavaScript преобразует числовые значения в строки.

x = "What is your age ?" + 21 // returns "What is your age ?21  "
  y = 21 + " is my age. " // returns "21 is my age."

Следующие выражения содержат операторы + и - .

 "21" - 7 // returns 14 
  "21" + 7 // returns "217"
  "21" + "7" // returns "217"

Следующие выражения содержат операторы * и / .

"21" * 7 // returns 147
  "21" / 7 // returns 3

JavaScript: escape-последовательности Юникода

Escape-последовательность Значение единицы кода название Условное обозначение
возврат на одну позицию <BS>
горизонтальная вкладка <HT>
перевод строки (новая строка) <LF>
вертикальная вкладка <VT>
подача формы <FF>
возврат каретки <CR>
" " двойная цитата "
' ' одиночная цитата '
\ \ обратный слэш

JavaScript: зарезервированные слова

Слова в следующей таблице являются зарезервированными словами и не могут использоваться в качестве переменных JavaScript, функций, методов или имен объектов. Некоторые из этих слов являются ключевыми словами, используемыми в JavaScript; другие зарезервированы для будущего использования.

Список зарезервированных слов:

перерыв за бросать
дело функция пытаться
ловить если тип
Продолжить в вар
дефолт экземпляр недействительным
удалять новый в то время как
делать вернуть с
еще переключатель
в конце концов этот

Следующие слова зарезервированы как будущие ключевые слова:

Аннотация экспорт долго синхронизированный
логический продолжается родные бросает
байт окончательный пакет преходящий
голец поплавок частный летучий
учебный класс идти к защищенный
Const инвентарь общественности
отладчик Импортировать короткая
двойной ИНТ статический
перечисление интерфейс супер

Предыдущая: JavaScript: инструменты для создания веб-приложений
Далее: заголовок JavaScript Литералы

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code