Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

События мышки



Действует во всех элементах, кроме ‪base‪, bdo, br, frame, frameset, head html, iframe, meta, param, script, style, title.

Атрибут Значение Описание
onclick script Запускает скрипт когда клавиша мышки нажата
ondblclick script Запускает скрипт когда клавиша мышки нажата дважды (double-click)
onmousedown script Запускает скрипт когда клавиша мышки нажата (но не отпущена)
onmousemove script Запускает скрипт когда указатель мышки двигается
onmouseout script Запускает скрипт когда указатель мышки вышел из области элемента
onmouseover script Запускает скрипт когда указатель мышки двигается над областью элемента
onmouseup script Запускает скрипт когда клавиша мышки отпущена

62. JavaScript как язык программирования. Мягкая типизация. Типы данных. Константы, переменные, операции, преобразования типов данных.

JavaScript — скриптовый объектно-ориентированный язык программирования, диалект языка ECMAScript. Обычно JavaScript используется в качестве встраиваемого языка для работы с объектами других приложений. Широкое применение он находит в браузерах для придания веб-страницам интерактивности. Основные архитектурные черты: слабая динамическая типизация, автоматическая сборка мусора, прототипное программирование и функции, являющиеся объектами первого класса. На язык оказали влияние многие другие ЯП, при разработке ставилась цель сделать его похожим на Java, однако достаточно легким для непрограммистов. Язык JavaScript не принадлежит какой-либо компании или организации, что выгодно отличает его от некоторых других языков веб-программирования. Название «JavaScript» — зарегистрированный товарный знак компании Oracle Corporation. В 1992 г. компания Nombas (впоследствии купленная Openwave) начала разработку встраиваемого языка Cmm (то есть Си-минус-минус). По замыслу разработчиков, он должен был быть достаточно мощным для замены макросов и, при этом, похож на Си, чтобы разработчики без труда изучали его. Главным его отличием от языка Си была автоматическая работа с памятью. Все управление памятью в разрабатываемом языке осуществлялось без участия программиста: не было необходимости объявлять переменные, создавать буферы, осуществлять преобразования типов. В остальном же языки были сильно похожи друг на друга, Cmm поддерживал стандартные операторы и функции Си. Cmm был вскоре переименован в ScriptEase, так как первоначальное название звучало негативно, а упоминание Си «отпугивало» людей. На основе ScriptEase был разработан проприетарный продукт CEnvi. К концу ноября 1995 г. Nombas разработала интернет-версию CEnvi, которая внедрялась в веб-страницы. Эти страницы назывались Espresso Pages и их можно было динамически изменять с помощью скриптов. Они демонстрировали применение скриптового языка для программирования игры, проверки ввода в формы, создания анимации и т.п. Espresso Pages позиционировались в качестве демонстрации того, что случится при внедрении языка Cmm в браузер. Работали эти страницы только в Netscape Navigator на ОС Windows. В мае 1995 г. Брендан Айх из компании Netscape начал разрабатывать ЯП, встраиваемый в код веб-страницы и поддерживаемый браузером Netscape. В разработке также участвовали сооснователь компании Netscape Марк Андрисин и сооснователь компании Sun Билл Джой. Этот язык первоначально назывался LiveScript и был предназначен для программирования как на клиентской стороне, так и на стороне сервера (где назывался LiveWire). На его синтаксис оказали влияние Си и Java, а поскольку Java было тогда модным словом, 4 декабря 1995 г. LiveScript был переименован в JavaScript. Представители Netscape и Sun анонсировали его накануне выпуска второй версии Netscape Navigator. В 1996 г. компания Microsoft выпустила свой аналог языка JavaScript под названием JScript. Первым браузером, который поддерживал эту реализацию, стал Internet Explorer 3. По инициативе Netscape Communications ассоциацией ECMA была проведена стандартизация нового языка. Его стандартизированная версия получила название ECMAScript и была описана в стандарте ECMA-262. Первой спецификации соответствовали JavaScript 1.1, JScript и ScriptEasy. Согласно рейтингу Tiobe, базирующемуся на данных поисковой статистики Google, Yahoo!, MSN, Википедии и YouTube, язык JavaScript занимает 11 место по популярности среди всех языков программирования (данные на сентябрь 2010 г.). Кроме того, JavaScript является самым распространенным языком программирования, применяемым для создания веб-приложений, работающих на стороне клиента.
 
 
Глава 3.3. Типы данных 3.3.1. Описание типов данных Язык JavaScript содержит шесть типов данных: Undefined (неопределенный), Null (нулевой), Boolean (логический), String (строковый), Number (числовый) и Object (объектный). Это относительно небольшое количество типов позволяет, тем не менее, создавать полноценные сценарии для выполнения многих функций. 3.3.1.1. Тип Undefined (неопределенный) Этот тип состоит из единственного значения undefined. Это значение, которое принимает переменная, которая объявлена в программе, но которой еще не присвоено никакого значения. 3.3.1.2. Тип Null (нулевой) Этот тип состоит из единственного значения null. Это значение означает нулевую, пустую или несуществующую ссылку. 3.3.1.3. Тип Boolean (логический) Этот тип состоит ровно из двух логических значений: true (истина) и false (ложь). 3.3.1.4. Тип String (строковый) Этот тип состоит из всех возможных текстовых строк. Каждая строка представляет собой упорядоченный массив из нуля или более символов Unicode (т. е. 16-битовых целых чисел без знака), называемых элементами строки. Элементы строки нумеруются, начиная с нуля. Длина строки — это количество элементов в ней; пустая строка состоит из нуля элементов. 3.3.1.5. Тип Number (числовой) Этот тип имеет ровно 18437736874454810627 (т. е. 264- 253+ 3) значений, соответствующих 64-битовому формату плавающих чисел двойной точности IEEE 754 с тем единственным исключением, что 9007199254740990 (т. е. 253- 2) различных значений "Не число" данного формата представляются в JavaScript одним значением NaN. Еще два специальных значения — это положительная бесконечность и отрицательная бесконечность, которым в JavaScript соответствуют выражения +Infinity (или просто Inifinity) и -Infinity. Отметим также, что в данном формате различаются положительный нуль (+0 или 0) и отрицательный нуль (-0). 3.3.1.6. Тип Object (объектный) Значением этого типа являются объекты. Объект — это неупорядоченный набор свойств, который подробно описан в разделе 3.7.1. 3.3.2. Преобразование типов JavaScript — слаботипизированный язык. Это означает, что в декларации переменной мы не указываем ее тип и в дальнейшем можем присваивать ей значения любых типов. Исполняющая система JavaScript сама выполняет автоматическое преобразование типов данных по мере необходимости. Для явного преобразования типов используются методы Boolean, Number, Object и String. Преобразования типов происходят по следующим правилам. 3.3.2.1. Преобразование к логическому типу Исходный типРезультатUndefinedfalseNullfalseBooleanбез измененийNumberfalse, если аргумент равен +0, -0 или NaN; true в остальных случаяхStringfalse, если аргумент — пустая строка; true в остальных случаяхObjecttrue3.3.2.2. Преобразование к числовому типу Исходный типРезультатUndefinedNaNNull+0Boolean1, если аргумент равен true, и 0, если аргумент равен falseNumberбез измененийStringесли строка содержит правильное число (возможно с пробелами перед и/или после него), то это число; NaN в противном случаеObjectрезультат преобразования значения объекта по умолчанию3.3.2.3. Преобразование к строковому типу Исходный типРезультатUndefined"undefined"Null"null"Boolean"true", если аргумент равен true, и "false", если аргумент равен falseNumberтекстовое представление числа (см. ниже)Stringбез измененийObjectрезультат преобразования значения объекта по умолчаниюПреобразование числа n в строку происходит по следующим правилам: если n равно NaN, то результат "NaN"; если n равно +0 или -0, то результат "0"; если n отрицательно, то результат будет конкатенацией строки "-" и результата преобразования в строку числа -n; если n равно бесконечности, то результат "Infinity"; в остальных случаях пусть m, k и s — такие целые числа, что k >= 1, 10 k -1 <= s < 10 k, n равно s x 10 m - k и k — наименьшее из возможных. Отметим, что k — это количество цифр в десятичном представлении s, что s не делится на 10 и что наименее значимая цифра s может не быть однозначно определенной. Тогда если k <= m <= 21, то результат состоит из k десятичных цифр s (без ведущих нулей), за которыми следуют m - k символов '0'; иначе, если 0 < m <= 21, то результат состоит из m старших десятичных цифр s, за которыми следуют десятичная точка '.' и k - m оставшихся десятичных цифр s; иначе, если -6 < m <= 0, то результат состоит из символа '0', за которым следуют десятичная точка '.', - m символов '0' и k десятичных цифр s; иначе, если k = 1, то результат состоит из единственной цифры s, символа 'e', символа плюс '+' или минус '-' в зависимости от того, положительно или отрицательно m -1, за которыми следует десятичное представление числа abs(m -1); иначе результат состоит из старшей десятичной цифры s, за которой следуют десятичная точка '.' и k -1 оставшихся десятичных цифр s, символ 'e', символ плюс '+' или минус '-' в зависимости от того, положительно или отрицательно m -1, за которыми следует десятичное представление числа abs(m -1). 3.3.2.4. Преобразование к объектному типу Исходный типРезультатUndefinedгенерируется исключение TypeErrorNullгенерируется исключение TypeErrorBooleanновый логический объект с данным значением по умолчаниюNumberновый числовой объект с данным значением по умолчаниюStringновый строковый объект с данным значением по умолчаниюObjectбез изменений3.3.2.5. Примеры неявных преобразований В выражениях, соединяющих числовые и строковые значения операцией +, JavaScript преобразует числа в строки, например: x = "Ответ равен " + 21 // возвращает "Ответ равен 21" y = 21 + " - вот ответ" // возвращает "21 - вот ответ" В остальных случаях JavaScript пытается преобразовать строку в число, например: a = "21" - 1 // возвращает 20 b = "21" + 1 // возвращает 211

Переменная состоит из имени и выделенной области памяти, которая ему соответствует.

Для объявления или, другими словами, создания переменной используется ключевое слово var:

var message;

После объявления, можно записать в переменную данные:

var message;
message = 'Привет'; // сохраним в переменной строку

Эти данные будут сохранены в соответствующей области памяти и в дальнейшем доступны при обращении по имени

Константа — это переменная, которая никогда не меняется. Как правило, их называют большими буквами, через подчёркивание. Например:

  var COLOR_BLUE = "#00F";
  var COLOR_RED = "#0F0";
  var COLOR_GREEN = "#F00";
  var COLOR_ORANGE = "#FF7F00";
   
  alert(COLOR_RED); // #0F0

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

Зачем нужны константы? Почему бы просто не использовать "#F00" или "#0F0"?

Во-первых, константа — это понятное имя, в отличие от строки "#FF7F00".

Во-вторых, опечатка в строке может быть не замечена, а в имени константы её упустить невозможно — будет ошибка при выполнении.





Дата публикования: 2015-01-25; Прочитано: 204 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...