JavaScript β€” язык программирования, созданный для исполнСния ΠΊΠΎΠ΄Π° Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ PHP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для выполнСния Π½Π° сторонС сСрвСра. Π­Ρ‚Ρƒ Ρ„Ρ€Π°Π·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Β«ΠΊΠΎΠ΄ JavaScript выполняСтся Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ страницу».

Бинтаксис Javascript достаточно Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ PHP ΠΈΠ»ΠΈ CΠΈ. Для JavaScript Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° динамичСская типизация, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ всСх ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Hello, world!

Π”Π°Π²Π°ΠΉΡ‚Π΅ встроим Π² ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ html-страницу ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ простой JavaScript-Ρ„Π°ΠΉΠ» ΠΈ содСрТимоС этого Ρ„Π°ΠΉΠ»Π°.

Код странички index.html:

<! DOCTYPE html>
<Html>
  <Head>
    <Script type = "text / javascript" src = "hello.js"> </ script>
    <Title> Hello, world! </ Title>
  </ Head>
  <Body>
    Body HTML here
  </Body>
</Html>

Π€Π°ΠΉΠ» hello.js содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

alert ("Hello, world!");

Если Π²Ρ‹ создадитС эти Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°, сохранитС ΠΈΡ…, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ страницу index.html, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ саму ΠΏΡƒΡΡ‚ΡƒΡŽ страничку с тСкстом Body HTML here ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ:

НСмного о JavaScript - 1

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ javascript-Ρ„Π°ΠΉΠ» ΠΊ html-страницС:

<Script type = "text / javascript" src = "hello.js"> </ script>

ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» автоматичСски выполняСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. Ѐункция alert ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠΊΠ°Π· окошка с тСкстовым сообщСниСм.

ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² JavaScript ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

var <имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> = <Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ>

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, Π½ΠΎ Π±Π΅Π· слова var:

<имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ> = <Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

s = "CS50"; // глобальная пСрСмСнная
var n = 3.14; // локальная пСрСмСнная
var b = true; // локальная пСрСмСнная

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

b = "make b a string";


Π¦ΠΈΠΊΠ»Ρ‹

Бинтаксис Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² JavaScript практичСски Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρƒ CΠΈ:

for (/ * инициализация * / / * условиС * / / * дСйствиС * /)
{
  / * Код * /
}
while (/ * условиС * /)
{
  / * Код * /
}
do {
  / * Код * /
} while (/ * условиС * /)


ОбъявлСниС ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Бинтаксис объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π‘ΠΈ:

function sum (x, y)
{
  return x + y;
}

Π’ JavaScript Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ фактичСски присваиваСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

var sum = function (x, y)
{
  return x + y;
}

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, записываСм Π΅Ρ‘ имя ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² скобках. НапримСр, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

a = sum (5, 3);


ΠœΠ°ΡΡΠΈΠ²Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния пустого массива:

var arr = [];

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ массива:

var arr2 = [ "Arrays", "in", JS];

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнту массива:

var thirdElement = arr [2]; // thirdElement = "JS"

Π’ JavaScript, ΠΊΠ°ΠΊ ΠΈ Π² PHP, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ элСмСнты Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

var arr3 = [2.3, true, 5];

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ элСмСнты Π² массив Π½Π΅ ΠΏΠΎ порядку:

arr3 [100] = "legit";

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² JavaScript, достаточно ΠΏΡ€ΠΈ объявлСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ пустыС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки:

var emptyObject = {};

НовыС свойства ΠΈΠ»ΠΈ поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ двумя способами:

emptyObject [ "newProperty"] = "newValue"; // ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ
emptyObject.otherNewProperty = "otherNewValue"; // Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ

Доступ ΠΊ полям ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ двумя путями:

alert (emptyObject.otherNewProperty)
alert (emptyObject [ "otherNewProperty"]);

ΠŸΡ€ΠΈ объявлСнии массива, ΠΌΠΎΠΆΠ½ΠΎ сразу Π·Π°Π΄Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ поля:

var CS50 = {
  <Имя поля> <Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>,
  "Course": "CS50",
  "Instructor": "David J. Malan '99",
  "Tfs": [ "R.J.", "Ben", "Pat", "Chris"],
  "Psets": 8,
  "Taped": true
};

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ доступа ΠΊ этим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ:

var cottage = [
  {Name: "James", house: "Winthrop"},
  {Name: "Molly", house: "Cabot"},
  {Name: "Carl", house: "Kirkland"}
];
// Π¦ΠΈΠΊΠ» для доступа ΠΊ элСмСнтам массива

for (var i = 0; i < cottage.length; i ++)
{
alert (cottage [i] .name)
}