Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

НОУ ІНТУЇТ | лекція | Створення динамічного наповнення сторінки. основи JavaScript

  1. 12.1. Основи мови JavaScript.
  2. 12.1.2. Історія
  3. 12.1.2.2. JavaScript
  4. 12.1.2.3. Популярність
  5. 12.1.3. можливості мови
  6. 12.1.4. Семантика і синтаксис
  7. 12.1.4.1. структура мови
  8. 12.1.4.1.1. ядро
  9. 12.1.4.1.2. Об'єктна модель браузера
  10. 12.1.4.1.3. Об'єктна модель документа
  11. 12.1.5. основний синтаксис
  12. 12.1.5.2. числа
  13. 12.1.5.3. рядки

Наша взаимовыгодная связь https://banwar.org/

Анотація: У даній лекції розглядаються основи мови JavaScript.

Презентацію до даної лекції Ви можете завантажити тут .

12.1. Основи мови JavaScript.

12.1.1. визначення

JavaScript - об'єктно-орієнтована скриптова мова програмування [ 1 , 2 ]. JavaScript зазвичай використовується як вбудований мова для програмного доступу до об'єктів додатків. Найбільш широке застосування знаходить в браузерах як мова сценаріїв для додання інтерактивності веб-сторінок.

Основні архітектурні риси [ 1 , 2 ]:

  • динамічна типізація - прийом, широко використовуваний в мовах програмування і мовами специфікації, при якому змінна зв'язується з типом в момент надання значення, а не в момент оголошення змінної, таким чином, в різних ділянках програми одна і та ж змінна може приймати значення різних типів;
  • слабка типізація - компілятор генерує код, що забезпечує перетворення типів, а логічна коректність такого перетворення контролюється програмістом, тобто фактично значення змінної одного типу можна привласнити значення змінної іншого майже без обмежень;
  • автоматичне керування пам'яттю - спеціальний код, званий складальником сміття (garbage collector), періодично звільняє пам'ять, видаляючи об'єкти, які вже не будуть затребувані додатком - тобто виробляє збірку сміття;
  • прототипне програмування - стиль об'єктно-орієнтованого програмування, при якому відсутнє поняття класу, а повторне використання (успадкування) проводиться шляхом клонування існуючого примірника об'єкта - прототипу;
  • функції як об'єкти першого класу - функції в JavaScript можуть використовуватися без істотних обмежень, їх можна передавати як параметри, використовувати як змінні, у них можуть бути свої функції (наприклад, invoke (), delay ()).

На JavaScript вплинули багато мов програмування. При розробці була мета зробити мову схожим на Java, але при цьому легким для використання непрограмістів.

12.1.2. Історія

12.1.2.1. початок

У 1992 році компанія Nombas почала розробку вбудованого скриптового мови Cmm (Сі-мінус-мінус), який, за задумом розробників, повинен був стати досить потужним, щоб замінити макроси, зберігаючи при цьому схожість з Сі, щоб розробникам не становило жодних проблем вивчити його [ 2 ]. Головною відмінністю від Сі була робота з пам'яттю. У новому мовою все управління пам'яттю здійснювалося автоматично: не було необхідності створювати буфери, оголошувати змінні, здійснювати перетворення типів. В іншому мови були сильно схожі один на одного: зокрема, Cmm підтримував стандартні функції і оператори Сі. Cmm був перейменований в ScriptEase, оскільки вихідне назва звучала надто негативно, а згадка в ньому Сі "відлякувало" людей.

На основі цієї мови був створений продукт CEnvi. В кінці листопада 1995 року Nombas розробила версію CEnvi, впроваджується в веб-сторінки. Сторінки, які можна було змінювати за допомогою скриптової мови, отримали назву Espresso Pages - вони демонстрували використання скриптового мови для створення гри, перевірки користувальницького введення в форми і створення анімації. Espresso Pages позиціонувалися як демоверсія, покликана допомогти уявити, що трапиться, якщо в браузер буде впроваджений мову Cmm. Працювали вони тільки в 16-бітовому Netscape Navigator під управлінням Windows.

12.1.2.2. JavaScript

Перед Бренданом Айхом, найнятим в компанію Netscape 4 не квітня 1995 року, була поставлена ​​задача впровадити мову програмування Scheme або щось схоже в браузер Netscape. Оскільки вимоги були розмиті, Айхан перевели в групу, відповідальну за серверні продукти, де він пропрацював місяць, займаючись поліпшенням протоколу HTTP. У травні розробник був перекинутий назад в команду, що займається клієнтською частиною (браузером), де він негайно почав розробляти концепцію нової мови програмування. Менеджмент розробки браузера був переконаний, що Netscape повинен підтримувати мову програмування, вбудований в HTML-код сторінки.

Крім Брендона Айхан в розробці брали участь один із засновників Netscape Communications Марк Андрісін і один із засновників Sun Microsystems Білл Джой: щоб встигнути закінчити роботи над мовою до релізу браузера, компанії уклали угоду про співпрацю в розробці. Вони ставили перед собою мету забезпечити "мову для склеювання" складових частин веб-ресурсу: зображень, плагінів, Java-аплетів, який був би зручний для веб-дизайнерів і програмістів, що не володіють високою кваліфікацією.

Спочатку мова називалася LiveScript і призначався як для програмування на стороні клієнта, так і для програмування на стороні сервера (там він мав називатися LiveWire). На синтаксис вплинули мови Сі і Java, і, оскільки Java в той час було модним словом, 4 грудня 1995 року LiveScript перейменували в JavaScript, отримавши відповідну ліцензію у Sun. Анонс JavaScript з боку представників Netscape і Sun відбувся напередодні випуску другої бета-версії Netscape Navigator. У ньому декларується, що 28 лідируючих ІТ-компаній висловили намір використовувати в своїх майбутніх продуктах JavaScript як об'єктний скриптова мова з відкритим стандартом.

У 1996 році компанія Microsoft випустила аналог мови JavaScript, названий JScript. Анонсовано ця мова була 18 липня 1996 року. Першим браузером, що підтримує цю реалізацію був Internet Explorer 3.0.

З ініціативи компанії Netscape була проведена стандартизація мови асоціацією ECMA. Стандартизована версія має назву ECMAScript, описується стандартом ECMA-262. Першою версією специфікації відповідав JavaScript версії 1.1, а також мови JScript і ScriptEasy.

12.1.2.3. Популярність

У статті "Самий нерозуміючими мову програмування в світі став найпопулярнішим в світі мовою програмування" [ 3 ] Дуглас Крокфорд стверджує, що лідируючу позицію JavaScript зайняв в зв'язку з розвитком AJAX, оскільки браузер став переважаючою системою доставки додатків. Він також констатує зростаючу популярність JavaScript, то, що ця мова вбудовується в додатки, зазначає значимість мови.

За даними Black Duck Software в розробці відкритого програмного забезпечення частка використання JavaScript виросла. 36% проектів, релізи яких відбулися з серпня 2008 по серпень 2009 рр., Включають JavaScript, найбільш часто використовувана мова програмування з швидкозростаючою популярністю. 80% відкритого програмного забезпечення використовує Сі, C ++, Java, Shell і JavaScript. При цьому JavaScript - єдиний з цих мов, чия частка використання збільшилася (більш ніж на 2 відсотки, якщо вважати в рядках коду).

12.1.3. можливості мови

JavaScript має низку властивостей об'єктно-орієнтованої мови, але реалізоване в мові прототипирование обумовлює відмінності в роботі з об'єктами в порівнянні з традиційними об'єктно-орієнтованими мовами [ 2 ]. Крім того, JavaScript має ряд властивостей, властивих функціональним мовам, - функції як об'єкти першого класу, об'єкти як списки, анонімні функції - що додає мові додаткову гнучкість.

Незважаючи на схожий з Сі синтаксис, JavaScript в порівнянні з мовою Сі має корінні відмінності:

  • об'єкти, з можливістю інтроспекції;
  • функції як об'єкти першого класу;
  • автоматичне приведення типів;
  • автоматичне прибирання сміття;
  • анонімні функції.

Однак в JavaScript відсутні і деякі "корисні речі":

  • модульна система: JavaScript не надає можливості управляти залежностями і ізоляцією областей видимості;
  • Стандартна бібліотека: зокрема, відсутній інтерфейс програмування додатків по роботі з файловою системою, управління потоками введення / виведення, базових типів для бінарних даних;
  • стандартні інтерфейси до веб-серверів і баз даних.

12.1.4. Семантика і синтаксис

Синтаксис мови JavaScript багато в чому нагадує синтаксис Сі і Java, семантично ж мова набагато ближче до Self або Smalltalk.

В JavaScript:

  • всі ідентифікатори залежать від регістра;
  • в назвах змінних можна використовувати букви, підкреслення, символ долара, арабські цифри;
  • назви змінних не можуть починатися з цифри;
  • для оформлення однорядкових коментарів використовуються //, багаторядкові і внутрістрочние коментарі починаються з / * і закінчуються * /.
12.1.4.1. структура мови

Структурно JavaScript можна представити у вигляді об'єднання трьох чітко помітних одна від одної частин [ 1 , 2 ]:

  • ядро (ECMAScript);
  • об'єктна модель браузера (BOM);
  • об'єктна модель документа (DOM).

Якщо розглядати JavaScript в відмінних від браузера середовищах, то об'єктна модель браузера і об'єктна модель документа можуть не підтримуватися.

Об'єктну модель документа іноді розглядають як окрему від JavaScript сутність, що узгоджується з визначенням DOM як незалежного від мови інтерфейсу документа.

12.1.4.1.1. ядро

ECMAScript не є браузерні мовою і насправді в ньому не визначаються методи введення і виведення інформації. Це скоріше основа для побудови скриптових мов. Специфікація ECMAScript описує типи даних, інструкції, ключові і зарезервовані слова, оператори, об'єкти, регулярні вирази, не обмежуючи авторів похідних мов від розширення їх новими складовими.

12.1.4.1.2. Об'єктна модель браузера

Об'єктна модель браузера - "браузероспеціфічная" частина мови, що є прошарком між ядром і об'єктною моделлю документа. Основне призначення об'єктної моделі браузера - управління вікнами браузера і забезпечення їх взаємодії. Кожне з вікон браузера представляється об'єктом window, центральним об'єктом BOM.

Крім управління вікнами, в рамках об'єктної моделі браузера, браузерами зазвичай забезпечується підтримка наступних сутностей:

  • управління кадрами;
  • підтримка затримки у виконанні коду і зациклення з затримкою;
  • системні діалоги;
  • управління адресою відкритої сторінки;
  • управління інформацією про браузері;
  • управління інформацією про параметри монітора;
  • обмежене управління історією перегляду сторінок;
  • підтримка роботи з HTTP cookie.
12.1.4.1.3. Об'єктна модель документа

Об'єктна модель документа - інтерфейс програмування додатків для HTML і XML-документів. Згідно DOM документу можна поставити у відповідність дерево об'єктів, що володіють рядом властивостей, які дозволяють виробляти з ним різні маніпуляції:

  • отримання вузлів;
  • зміна вузлів;
  • зміна зв'язків між вузлами;
  • видалення вузлів.

12.1.5. основний синтаксис

12.1.5.1. огляд

В JavaScript визначені наступні типи [ 4 ]:

  • Number;
  • String;
  • Boolean;
  • Object:
    • Function;
    • Array;
    • Date;
    • RegExp;
  • Null;
  • Undefined;
  • Error.
12.1.5.2. числа

Всі числа в JavaScript згідно специфікації "64-бітові подвійної точності - формат IEEE 754". В JavaScript немає типу Integer, що може привести до несподіваних наслідків, наприклад:

0.1 + 0.2 = 0.30000000000000004

Підтримані стандартні арифметичні оператори, такі як складання, розподіл, залишок від ділення і так далі. Тут варто згадати вбудований об'єкт Math містить математичні методи:

Math.sin (3.5); d = Math.PI * r * r;

З використанням вбудованої функції parseInt () можна перетворити рядок в число. Другим параметром ця функція приймає базу, яку варто завжди вказувати щоб уникнути казусів:

parseInt ( "123", 10) // результат - "123" parseInt ( "010", 10) // результат - "10"

а якщо не вказати базу то отримаємо:

parseInt ( "010") // результат - "8"

Це сталося, тому що parseInt порахувало кількість восьмеричним через попереднього 0.

Якщо функція не може перетворити рядок в число, вона повертає спеціальне значення NaN (скорочення від "Чи не Число"):

parseInt ( "Привіт", 10) // результат - "NaN"

Результатом математичної операції з NaN завжди буде NaN:

NaN + 5 // результат - "NaN"

Можна перевірити значення на рівність NaN змінної за допомогою вбудованої функції isNaN ():

isNaN (NaN) // результат - "true"

В JavaScript є також значення Infinity і - Infinity:

1/0 // результат - "Infinity" -1 / 0 // результат - "-Infinity"
12.1.5.3. рядки

Strings в JavaScript це послідовність символів. Для представлення одного символу можна використовувати рядок одиничної довжини. Для отримання довжини рядка і об'єктів є властивість length:

"Привіт" .length // результат - "5"

Також рядок має набір корисних методів:

"Привіт" .charAt (0) // результат - "П" "Привіт, світ!". Replace ( "Привіт", "Прощай") // результат - "Прощай, світе!" "Привіт" .toUpperCase () // результат - "ПРИВІТ"
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: