Home » 2014 » Октомври » 9 » Урок №2 Основи на езика Javascript
0:24 AM
Урок №2 Основи на езика Javascript

Основи на езика

Зареждане

JavaScript кодът може да се вмъква в HTML

документа между двойката елементи <SCRIPT>

и</SCRIPT>. Когато срещне тага <SCRIPT>, браузърът

разбира, че трябва да спре интерпретирането на HTML

кода и да започне да обработва скрипта, намиращ се

между <SCRIPT> и </SCRIPT>. Този скрипт не е задължително

да бъде написан на JavaScript. Има и други езици за писане

на скриптове, например VBScript. Но езикът по подразбиране

е JavaScript. В следния пример създаваме уеб страница в

която е вмъкнат JavaScript код, който да изписва на екрана "Здравей!"

 

 

<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>javascript</TITLE>
</HEAD>
<BODY>
<SCRIPT>
document.write("Здравей!");
</SCRIPT>
</BODY>
</HTML>

 

 

Препишете горния код в някой текстов редактор и запазете файла

като hi.html. След това го отворете с някой браузър.

Другият начин да заредите JavaScript е да го поставите в отделен

файл. В следващия пример отново ще напишем "Здравей" на

екрана, но ще заредим скрипта си от отделен файл. Първо създаваме

файла hi.js:

 

 

document.write("Здравей!");

 

 

След което трябва да променим hi.html от предходния пример

по следния начин:

 

 

<!--
<SCRIPT>
 document.write("Здравей!");
</SCRIPT>
-->
 
<SCRIPT src="hi.js"></SCRIPT>

 

 

Това разделение на javascript логиката от HTML структурата

е един от основните принципи на Софтуерното инженерство.

Променливи

Променливите в JavaScript са динамични и могат да съдържат

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

var следвана от името на променливата или списък от

променливи. Възможно е също да присвоите стойност на

променливата в момента на декларация чрез оператора =.

По подразбиране стойността на променливата ще бъде undefined.

 

 

var greeting = "Здравей!", x = 42;
 
document.write(greeting);

 

 

Тук имаме списък от променливи. Името на първата е greeting,

а стойността ѝ е "Здравей!". Kогато отпечатваме променливата

greeting ние всъщност отпечатваме стойността ѝ "Здравей!".

Имена на променливи

Имената на променливите в JavaScript не трябва да започват

с цифра, могат да започват с малка или голяма буква, _ или $

и да съдържат само тези знаци както и числа. Всички останали

символи са забранени. Името на променливата не може да е

ключова дума или оператор.

 

 

//Валидни имена на променливи:
var ninja, apples_and_oranges, var56, $, nutsAndBolts;
 
//Невалидни имена на променливи:
var 3, var, "test", if, while, 5wtx1;

 

 

Обхват на променливите

В JavaScript има два вида обхват за променливите: функционален

и глобален.

  • Функционален обхват важи всяка променлива обявена

    чрез var в рамките на дадена функция. Тази променлива е видима

    единстенно в рамките на тази функция.

  • Глобален обхват важи за всяка променлива обявена извън функция или без

    var дори и във функция. Тази променлива е видима от всеки друг код на

    страницата

Константи

В JavaScript няма константи. В по-новите версии на езика даден

обект може да се замрази Object.freeze(myConstants); което

спира промяната на стойностите на членовете му.

Прости типове данни

В JavaScript има няколко основни прости типа данни:

  •  Числа - всички числа в JavaScript са представени

    по един и същи начин в паметта. Няма отделна категория

    за цялочислени и дробни.

  • Низове - низовете се ограждат с "" и могат да съдържат

    всеки друг знак.

  • Булеви - само две стойности: true и false

 

 

 

//Инициализиране на числова променлива:
var a = 3;
 
//Инициализиране на променлива с низ
var b = "JavaScript iz kuwl";
 
//Инициализиране на булева променлива
var c = true;
 
//Извеждане на типа на данните в променливите
alert(typeof a);
alert(typeof b);
alert(typeof c);

 

 

Този пример създава променливи с начална стойност от три

различни типа данни, поддържани от JavaScript. Първо използваме

ключовата дума typeof, за да върне типовете данни и след това

ги подаваме като параметри на функцията alert за да бъдат показани

в диалогов прозорец.

Оператори

Езикът JavaScript притежава два вида оператори, с един или

два аргумента. Единичните (едно-аргументни) оператори

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

докато двойните (дву-аргументни) оператори връщат нова

стойност като резултат.

 

 

var sum = 5 + 7; //sum става 12
var negative = -9; //отрицателният знак може 
да е и едно- и дву-аргументен
var subtraction = 12 - 7; //subtraction става 5

 

 

 

Сравнителен оператор Действие
== Равенство, не се препоръчва
 != Неравенство, не се препоръчва
=== Стриктно равенство
 !== Стриктно неравенство
< По-малко
> По-голямо
<= По-малко или равно
>= По-голямо или равно
>= По-малко или равно

 

Аритметичен оператор Действие
+ Събиране
- Изваждане
* Умножение
/ Деление
 % Остатък

 

 

 

var five = 5,
 seven = 7,
 greeting = "Здравей!";
 
document.write(five + seven); //изписва сбора 
на five и seven т.е. 12
 
document.write("<br />"); //добавя HTML тага за 
нов ред
 
document.write(greeting + five); //изписва 
"Здравей!5"

 

 

Забележете че резултата от събирането на greeting и five е

"Здравей!5". Когато стойността на едната или двете променливи

не е число, резултатът е стойностите "слепени" в нов низ.

Логически оператор Действие
 ! не, логическо отрицание
&& и, логическо умножение
|| логическо събиране

 

 

 

//при присвояване на стойност могат да се 
използват оператори
//например:
var x = 5;
x = x + 5; // x сега е 10
x += 5; // също добавя 5 към x
 
var y = 12;
y -= 1; //y става 11
y *= 2; //y става 22

 

 

Сложни типове данни

Абстрактните типове данни в JavaScript са изключително

полезни. Те включват масиви, функции и обекти.

Масиви

Масивите съдържат списък от елементи и се бележат с [].

 

 

//създаване на нов масив:
var empty = []; //празен масив
var my_data = [ 1, 2, 3, "hi", 
"bye", -2.11 ];
var array_of_arrays = [ [1, 2, 3], 
[4, 5, 6], "anything else?" ]; //масив от масиви

 

 

Защото JavaScript е динамичен, елементите от масива могат

да са от различен тип. Един масив може да съдържа други масиви,

обекти и функции.

Функции

Функциите съдържат код, който ще бъде изпълнен когато

функцията бъде извикана. Функцията винаги връща стойност,

ако няма return функцията връща undefined. Функциите могат

да приемат параметри (аргументи) и да връщат резултат от

всякъкъв вид: число, текст, обект, масив или друга функция.

 

 

//декларация на функция SayHi 
"кажи здравей" с параметър "име"; връща 
текста "Здравей, _име_ !"
function SayHi(name) {
 return "Здравей, " + name + "!";
}
 
//този запис е еквивалентен:
var SayHi = function (name) {
 return "Здравей, " + name + "!";
};
 
//извикване на функцията "кажи здравей"
SayHi("Иван"); //Здравей, Иван!

 

 

Функциите са много гъвкави структури и са едно от най-добрите

неща в JavaScript. Позволяват за логическо затваряне и

обособен обхват на променливите.

 

 

//създаване на нова функция, която 
връща функция, която връща името на 
зададенотo като параметър число:
//забележете, че външната функция се 
изпълнява веднага след като е дефинирана.
var numberName = (function () {
 var names = [ "нула", "едно" ,"две", 
"три", "четири", "пет", "шест", "седем", 
"осем", "девет", "десет" ];
 return function (n) {
 return names[n];
 };
}());
 
numberName(6); //върща "шест"

 

 

Обекти

Обектите съдържат свойства и методи. Те са съвкупност от

данни и функции, които работят за изпълнението на свързана

задача, бележат се с {}.

 

 

//създаване на нов обект "студент" със 
свойства име, оценка и функция за дрямка.
var student = {
 name : "Иван",
 grade : 4.50,
 nap : function () { this.grade -= 0.5; 
return "zzz"; }
};
 
//прилагаме метода на студента за дрямка 
и извеждаме оценката
student.nap();
alert(student.grade);

 

 

Категория: Javascript | Преглеждания: 937 | Довавено от: knif3r | Оценка: 5.0 | Гласували :2 | Tags: урок, basic, basics, Джава, JavaScript, въведение, Начинаещ, Urok, основи, js

Ако урокът ви е харесал можете да го споделите с вашите приятели във фейсбук :
Всички коментари: 0
avatar
Социални Мрежи

PC-Tools.inc | Copyright © 2014-2015
DMCA.com Protection Status Mozilla Firefox+4.0 Chrome+13.2 Opera+5.6 IE+7.9 Safari+2.0