sonyps4.ru

Переменные и способы их создания.

Всем доброго времени суток. На связи Алексей Гулынин. В прошлой статье мы с вами создали простейший скрипт Hello World . В этой статье я хотел бы рассказать о создании переменных в языке JavaScript . Переменные присутствуют в абсолютно любом языке программирования. Если в коде программы что-то где-то хранится, то это хранится именно в переменной. Давайте напишем небольшой скрипт, в котором будет создана переменная и ей будет присвоено значение:

var a; a = 5; document.write(a);

Объявление переменной начинается с ключевого слова var . В данном случае конструкция var a означает, что мы создаем переменную a . На следующей строке мы нашей переменной присваиваем значение, равное 5 (a = 5), и, при помощи конструкции document.write(a) , выводим в браузер значение переменной a. Если вы запустите данный скрипт, то увидите, что на странице браузера появилось число 5.

Правила, налагаемые на имя переменной:

  • Имя переменной не должно состоять из одних только цифр,
  • В имени переменной не должно быть специальных символов (допускается только типе и знак подчеркивания),
  • Именем переменной не должно выступать зарезервированное ключевое слово (примеры: var или array),
  • Также в имени переменной не должно содержаться пробелов.

Давайте теперь рассмотрим другие операции с переменной. Создадим скрипт:

var a = 5; var b = a + 1; a = 10; b = a + a; b = b - 2; b++; b = b - 1; b--; document.write(b);

Давайте разберем этот скрипт. Вначале мы создали переменную a и присвоили ей значение 5. Затем мы создали переменную b и присвоили ей значение, равное (a + 1) , т.е. получилось 6. Затем мы a присвоили значение 10. Мы видим, что по ходу программы можно изменять значение переменной, как угодно. Также с переменными можно выполнять различные базовые арифметический операции (сложение, вычитание, деление, умножение). Выражение b++ равносильно выражению b = b + 1 , т.е. данное выражение просто прибавляет 1 к переменной b . Выражение b— наоборот, вычитает 1 из переменной b .

В ActionScript, равно как и в таких языках, как Pascal или JavaScript, объявить переменную можно, используя ключевое слово var:

Var new_obj; // Создана новая переменная...

Присваивая переменной имя, нужно соблюдать правила задания идентификаторов. Особенно важно помнить, что в ActionScript появилась полная чувствительность к регистру, а также, что имя не может начинаться с цифры и совпадать с лексемами из словаря языка. Переменной при создании автоматически присваивается значение undefined:

Trace(new_obj); // Выводит: undefined

Впрочем, переменные редко объявляются пустыми. Обычно им сразу же ставится в соответствие некоторое конкретное значение (на худой конец - null). Делается это при помощи оператора присваивания «-», который мы использовали уже десятки раз:

Var new_obj=null; // Если переменная изначально не имеет значения,
// то ей нужно присвоить null

Одновременно можно объявить и несколько переменных, для чего нужно использовать оператор «,»:

Var а=1, b=2, с=3; // Строка эквивалентна var a=1; var b=2; var c=3;

Если переменная будет хранить объекты данных только одного типа, ее стоит типизировать.

Как это делается:

Var number:Number=0;

Во Flash 4, до появления современного ActionScript, для объявления и переопределения переменных использовалось предложение set(name, expression), где name - Имя, expression - присваиваемое выражение. Например:

Set(a, null); // Эквивалентно a=null;

В настоящее время функции предложения set() сузились до создания переменных с динамическими именами:

Var i:Number = Math.round(Math.random()"10); // Генерируем случайное
// число от 0 до 10
set("var"+i,"новая переменная"); // Создаем переменную со случайным именем
trace(eval("var" + i)); // Выводит: "новая переменная"

Надо признать, что в современных версиях Flash предложение set() используется достаточно редко, что связано с тем, что у него имеется куда более мощный конкурент - массивы (а точнее, оператор доступа к свойствам «()», который часто называют оператором доступа к элементам массива - отчасти из-за схожести с литералом массива «»). Однако если массивы не применяются, то set() просто незаменима (и таковой она была во Flash 4), так как невозможно присвоить значение переменной, переведя строку в идентификатор при помощи eval():

Eval("variable")=3; // Эта строка вызывает ошибку
set("variable",3); // Верное выражение

Чтобы создать переменную с динамически формируемым именем более технично, чем с использованием предложения set, нужно применить следующую запись:

This["name"]=value,

Где this - указатель на текущую временную диаграмму (ее свойствами являются все переменные размещенного на ней кода); "name" - имя переменной; value - объект данных, который должна хранить переменная.

Например:

This ["variable"] = "Привет";
trace(variable); // Выводит: Привет

Переменные, которые создаются при помощи предложения set или оператора «», не могут быть типизированы. Впрочем, при этом правильнее говорить о создании свойства временной диаграммы, содержащей код, чем о переменной.

Хорошим тоном в ActionScript-программировании является объявление всех переменных сценария в одном месте - в выделенной комментариями области вверху листа с кодом. Такой подход помогает избежать повторения идентификаторов в больших программах, а также делает сценарий более читабельным и понятным для сторонних лиц. Весьма оправданно объявлять вместе с основными переменными и переменные служебные - для хранения промежуточных результатов или флагов состояния.

//*******Переменные*********************************
var speed:Number=10; // Скорость объекта
var size:Number=100; // Размер объекта в пикселях
var crash:Number=null; // Расстояние по дубликата
//**************************************************

Имеется и более существенная причина, по которой все переменные должны объявляться в начале сценария.

Чтобы понять ее, проанализируйте следующий код:

Function func():Void { // Функция, вызывающая прописанные позже нее
// переменную и функцию
trace(per);
func2();
}
func (); // Выводит: undefined Привет!!!
var per:String = "Пока";
function func2():Void {
trace("Привет!!!");
}

Дело в том, что вызов функции может предшествовать ее определению. А вот прочитать значение переменной выше строки ее задания невозможно. Такая двойственность очень часто приводит к путанице и ошибкам. Например, если вы из функции А() вызываете функцию В(), которая использует переменную per, объявленную между ними, то активация А() выше определения per приведет к неопределенности:

Function A():Void {
В();
}
А(); // Выводит: undefined
var par:String = "Привет";
А(); // Выводит: Привет (вызов расположен ниже определения переменной)
function B():Void {
trace(par);
}

ActionScript не является строгим языком в отношении объявления переменных. Так, если вы попытаетесь присвоить некоторое значение несуществующей переменной, то интерпретатор, проверив соответствующую цепочку областей видимости, просто автоматически создаст ее:

My_var = null; // Результат выполнения такой записи в большинстве
// случаев аналогичен var my_var=null;

Автоматическое создание переменных не является общепринятой нормой: в большинстве универсальных языков программирования появление неизвестного идентификатора вызывает ошибку. В ActionScript же использование var не обязательно, J но является рекомендованным. И на то имеются веские причины:

Явное определение переменных позволяет сделать сценарий более четким, облегчая тем самымего отладку и переделку.

Создавая переменную с использованием var, вы гарантируете, что при этом не произойдет простого переопределения одноименной ей переменной, принадлежащей к вышележащей области видимости (это важно в случае локальных переменных функций).

Ключевое слово var позволяет строго типизировать переменные. Если попытаться задать тип переменной без var, то произойдет сбой при компиляции.

Если Вы изучаете PHP , то, надеюсь, что смысл и назначение переменных в языках программирования понимаете. Поэтому не буду объяснять всё это, и сразу приступим к созданию переменных в PHP .

Давайте сразу создадим переменную и выведем её:

Здесь мы объявляем переменную x , которой присваиваем значение 15 . Затем мы выводим её. Обратите внимание, что переменная всегда предворяется знаком $ .

Теперь создадим ещё одну переменную:

Тут мы создаём переменную str и присваиваем её строчное значение "some string ". Как видите, строки в PHP ставятся в кавычках, впрочем, как и в большинстве языков программирования.

Теперь поговорим о типах переменных. Точно так же как и в JavaScript , тип переменной определяется самим языком. То есть интерпретатор PHP , в зависимости от значения, подбирает тип. Существует несколько типов переменных в PHP :

1) Integer - целый тип данных.

2) Double - вещественный тип с двойной точностью.

3) Float - вещественный тип данных с одинарной точностью.

4) String - строковый тип.

5) Boolean - булевский тип данных (только два значения: true или false ).

5) Array - массив

6) Resource - некий ресурс.

7) Object - объектный тип.

С последними тремя типами данных в PHP мы познакомимся попозже. А вот разницу между float и double давайте обсудим. Не очень понимаю, почему возникает такое количество вопросов по этому моменту. Видно, очень непонятно пишут авторы многих учебных пособий. Поэтому, чтобы исправить эту ошибку, постараюсь объяснить максимально простым языком. Разница между float и double только в диапазоне значений. Double - это тот же float , только диапазон значений гораздо больше, но и памяти он отнимает в 2 раза больше (8 байт , если мне память не изменяет, а float только 4 байта ).

Давайте теперь поработаем с переменными в PHP . Для этого напишем такой код:

Здесь мы объявили две переменных в PHP , присвоили им значения, посчитали их сумму, а потом вывели результат.

Думаю, в этой статье достаточно знаний для начала. В следующей статье мы разберём оператор условия IF , а также узнаем об одной очень важной функции - isset() .

Создать переменную в программе можно несколькими способами: с помощью оператора присвоения значений в формате:

имя_переменной = значение;

myName = "Иван";

С помощью ключевого слова var (от variable - переменная) в формате:

Var имя_переменной;

В этом случае созданная переменная не имеет никакого значения, но может его получить в дальнейшем с помощью оператора присвоения.

С помощью ключевого слова var и оператора присвоения в формате:

var имя_переменной = значение;

var myName = "Иван";

Строка кода программы с ключевым словом var задает так называемую инициализацию переменной и для каждой переменной используется один раз.

Типизация переменных

Самое важное различие между JavaScript и такими языками, как Java и C, состоит в том, что JavaScript – это нетипизированный (untyped) язык. В частности, это значит, что JavaScript-переменная может содержать значение любого типа, в отличие от Java- или C-переменной, в которой может содержаться только определенный тип данных, заданный при ее объявлении. Так, в JavaScript можно присвоить переменной число, а затем присвоить той же переменной строку:

i = "десять";

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

var x = "Иван“;

х = "Анна";

х = 2.5;

Одно ключевое слово var можно использовать для инициализации сразу нескольких переменных, как с оператором присвоения, так и без него. При этом переменные и выражения с операторами присвоения разделяются запятыми, например:

var name = " Вася ", address, x = 3.14

Если начальное значение не задано в инструкции var , то переменная объявляется, но ее начальное значение остается неопределенным (undefined ), пока не будет изменено программой.

Обратите внимание, что инструкция var также может включаться в циклы for и for/i n (о которых рассказывается ниже), что позволяет объявлять переменную цикла непосредственно в самом цикле. Например:

for(var i = 0; i < 10; i++) document.write(i, "
");

for(var i = 0, j = 10; i < 10; i++, j__) document.write(i*j, "
");

for(var i in o) document.write(i, "
");

Переменные, объявленные с помощью инструкции var , называются долговременными (permanent ): попытка удалить их с помощью оператора delete приведет к ошибке.

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

Если попытаться прочитать значение необъявленной переменной, JavaScript сгенерирует сообщение об ошибке. Если присвоить значение переменной, необъявленной с помощью инструкции var , JavaScript неявно объявит эту переменную за вас. Однако переменные, объявленные таким образом, всегда создаются как глобальные, даже если они работают только в теле функции.

Чтобы не создавать глобальную переменную (или не использовать существующую), когда достаточно локальной переменной для отдельной функции, всегда помещайте инструкцию var в тело функции. Лучше всего объявлять с ключевым словом var все переменные – и глобальные, и локальные.

Этот раздел касается:
  • Платформы: Solaris SPARC, Red Hat Linux, SUSE Linux, Oracle Linux, Windows 10, Windows 8, Windows 7, Vista, Windows XP, Mac OS X

Инструкции на данной странице предназначены только для опытных пользователей и системных администраторов.


Общие сведения
  • Переменная PATH - это системная переменная, которую операционная система использует для того, чтобы найти нужные исполняемые объекты в командной строке или окне терминала.
  • Системную переменную PATH можно задать с помощью системной утилиты в панели управления Windows или с помощью файла запуска командной оболочки Linux и Solaris.
  • На компьютерах под управлением Windows или Mac OS X внесение изменений в системную переменную PATH обычно не требуется .
Windows Windows 10 и Windows 8
  • В строке "Поиск" выполните поиск: Система (Панель управления)
  • Нажмите на ссылку .
  • Нажмите Переменные среды . В разделе Переменные среды Изменить
  • В окне (или Новая системная переменная ОК ОК .
  • Windows 7
  • На рабочем столе правой кнопкой нажмите на значок Компьютер .
  • В контекстном меню выберите Свойства .
  • Нажмите на ссылку Дополнительные параметры системы .
  • Нажмите Переменные среды . В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить . Если переменной PATH не существует, нажмите Создать.
  • В окне Изменение системной переменной (или Новая системная переменная ) укажите значение переменной среды PATH . Нажмите ОК . Закройте остальные открытые окна, нажимая ОК .
  • Откройте заново окно командной строки и выполните код java.
  • Windows XP
  • Нажмите Пуск , выберите Панель управления , дважды нажмите на Система и выберите вкладку Дополнительно .
  • Нажмите Переменные среды . В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить . Если переменной PATH не существует, нажмите Создать.
  • В окне Изменение системной переменной (или Новая системная переменная ) укажите значение переменной среды PATH . Нажмите ОК . Закройте остальные открытые окна, нажимая ОК .
  • Откройте заново окно командной строки и выполните код java.
  • Mac OS X

    Чтобы запустить другую версию Java, укажите полный путь или используйте инструмент java_home:

    % /usr/libexec/java_home -v 1.8.0_73 --exec javac -version

    Solaris и Linux
  • Чтобы узнать, правильно ли настроен путь:
    В окнах терминала введите:
    % java -version
    Будет выведена версия средства java , если не удается ее найти. Если версия устарела или появляется ошибка java: команда не найдена , то путь задан неправильно.
  • Определите, какая исполняемая версия java является первой найденной в переменной PATH
    В окне терминала введите:
    % which java
  • Окончательная настройка пути

    Чтобы задать путь окончательно, настройте его в файле автозагрузки.
    Примечание. Приведены инструкции для двух самых популярных оболочек на Linux и Solaris. Если вы используете другие оболочки, см. Учебное пособие по установке переменной PATH .

    Оболочка Bash

    Отредактируйте файл автозагрузки (~/.bashrc)

  • Измените переменную PATH variable
    PATH=/usr/local/jdk1.8.0/bin:$PATH
    export PATH
  • Загрузите файл автозагрузки
    % . /.profile

  • % java -version
  • Оболочка C (csh)

    Отредактируйте файл автозагрузки (~/.cshrc)

  • Задайте путь
    set path=(/usr/local/jdk1.8.0/bin $path)
  • Сохранить изменения и закрыть окно
  • Загрузите файл автозагрузки
    % source ~/.cshrc
  • Убедитесь, что путь задан, повторив команду java
    % java -version


  • Загрузка...