„Здрасти, Амиго!“
„Здравей, Билаабо!“
„Радвам се да ви видя. Днес имаме малък, но много информативен урок. Днес ще ви разкажа за езика JavaScript.“
„Нов език? Колко интересно…“
"JavaScript в момента е популярен благодарение на Интернет. Факт е, че това е единственият език, който всички браузъри могат да изпълняват. Ако искате да добавите анимация or логика към вашата уеб page, тогава можете да го направите с JavaScript."
„Вярно ли е, че JavaScript е най-популярният език?“
„Да, но би било по-точно да се каже, че това е най-популярният „втори език“. Програмистите на C++, Java, C# и PHP трябва да пишат малки скриптове в JavaScript, за да оживят своите уеб страници. Но много по-малко хора само пишете code в JavaScript."
„Защо се казва JavaScript? Звучи почти като Java.“
„Всъщност, първоначално се наричаше LiveScript, но когато Java започна да става по-популярна, беше преименувана на JavaScript.“
"Java и JavaScript са два напълно различни езика. Не ги бъркайте."
„За разлика от Java, JavaScript няма класове и не поддържа статично писане, многопоточност и много повече. Java е като голям набор от инструменти за конструиране, докато JavaScript е по-скоро като швейцарско ножче. JavaScript е проектиран да решава малки задачи, но Java е за решаване на големи и много големи задачи."
„Ето някои факти за JavaScript:“
„Първият факт е, че JavaScript има функции, но няма класове“
„Просто пишете програми, като използвате няколко функции и това е. Например:“
function min(a, b)
{
return a
}
public static int min(int a, int b)
{
return a
}
„Новите функции се декларират с помощта на «функция <име>».
"Друг пример:"
function min(a, b)
{
return a < b ? a: b;
}
function main()
{
var s = 3;
var t = 5;
var min = min(s, t);
}
public static int min(int a, int b)
{
return a < b ? a : b;
}
public static void main()
{
int s = 3;
int t = 5;
int min = min(s,t);
}
„Вторият факт е, че JavaScript има променливи, но тези променливи нямат типове“
"JavaScript е динамично въведен език. Това означава, че променливите всъщност нямат типове. На всяка променлива може да бъде присвоена стойност от произволен тип (стойностите имат типове). Например:"
function main()
{
var s = "Bender";
var k = 1;
var n = s.length;
}
public static void main()
{
String s ="Bender";
int k = 1;
int n = s.length();
}
„Но динамичното въвеждане увеличава риска от грешки по време на изпълнение:“
function main()
{
var s = "Bender";
var k = 1;
var n = k.length;
}
public static void main()
{
String s ="Bender";
int k = 1;
int n = k.length();
}
„В примера по-горе използвахме променливата k (цяло число) instead of s (низ). В Java грешката ще бъде открита по време на компorране, но в JavaScript ще бъде уловена едва по-късно, когато codeът бяга."
„Ако искате да декларирате променлива в JavaScript, трябва да напишете «var <name>». Няма типове променливи и няма типове за методи/функции or техните аргументи.“
„JavaScript има много малко строги правила и много анархия.“
„Можете да декларирате функция с 5 аргумента и да я извикате с два – останалите просто ще бъдат null. Можете да декларирате функция с два аргумента и да подадете пет, когато я извикате. Три просто ще бъдат изхвърлени. Има минимален контрол над грешки, правописни грешки и промени."
„Третият факт е, че JavaScript има изрази if, for и while“
„JavaScript има if, for и while. Това е страхотна новина. Вижте тези примери:“
function main()
{
var s = "Bender";
var result = "";
for(var i = 0; i < s.length; i++)
{
result += s[i] + "";
}
if(result.length > 10)
{
alert (result);
}
else
{
while(result.length <= 10)
{
result += " ";
}
alert(result);
}
}
public static void main()
{
String s = "Bender";
char[] s2 = s.toCharArray();
String result = "";
for(int i = 0; i < s.length(); i++)
{
result += s2[i] + "";
}
if(result.length() > 10)
{
System.out.println(result);
}
else
{
while (result.length() <= 10)
{
result += " ";
}
System.out.println(result);
}
}
„Те са доста сходни. Мисля, че мога да разбера How работи codeът, написан на JavaScript.“
— Оптимизмът ви е добър.
„Четвъртият факт е, че JavaScript поддържа блокове try-catch-finally“
" JavaScript има изключения ( Error ) и това е добре. Той няма проверени изключения, само непроверени изключения, подобни на RuntimeException . Конструкцията try-catch-finally работи по същия начин като в Java. Например:"
function main()
{
try
{
var s = null;
var n = s.length;
}
catch(e)
{
alert(e);
}
}
public static void main()
{
try
{
String s = null;
int n = s.length();
}
catch(Exception e)
{
System.out.println(e);
}
}
„Когато се опитаме да получим дължината на низа, ще бъде хвърлено изключение, тъй като променливата е нула.“
„Петият факт е, че JavaScript има масиви“
„Добра новина: JavaScript има масиви. Лоша новина: няма списъци or колекции.“
„Друга добра новина е, че масивите могат динамично да се разширяват, когато се добавят нови елементи, и да намаляват, когато елементите се премахват. Това е по-скоро хибрид между масив и списък. “
Например:
function main()
{
var m = [1, 3, 18, 45, 'c', "roma", null];
alert(m.length); // 7
m.push("end");
alert(m.length); // 8
for (var i = 0; i < m.length; i++)
{
alert(m[i]);
}
}
public static void main()
{
List m = Arrays.asList(1, 3, 18, 45,'c', "roma", null);
System.out.println(m.size()); // 7
m.add("end");
System.out.println(m.size()); // 8
for (int i = 0; i < m.size(); i++)
{
System.out.println(m.get(i));
}
}
„Какви са тези квадратни скоби в декларацията на масива?“
"Точно това е декларацията на масив. За да декларирате масив, трябва да напишете квадратни скоби. След това изброявате елементите на масива между скобите. Декларирате празен масив просто с двойка скоби."
var m = [];
„Шестият факт е, че JavaScript има обекти“
"JavaScript има обекти. Всъщност всичко в JavaScript е обект, дори примитивните типове. Всеки обект е представен като набор от двойки ключ-стойност. Грубо казано, всеки JavaScript обект е еквивалентен на HashMap в Java. Ето един пример за декларация на обект:"
function main()
{
var m = {
first_name : "Bill",
last_name: "Gates",
age: 54,
weight: 67,
children: ["Emma", "Catrin"],
wife: {
first_name : "Melinda",
last_name: "Gates",
age: 45,
}
};
alert(m.first_name); // Bill
alert(m.age); // 54
alert(m.wife.first_name); // Melinda
m.age = 45;
m.age++;
m["first_name"] = "Stive";
m["wife"] = null;
public static void main()
{
HashMap m = new HashMap();
m.put("first_name", "Bill");
m.put("last_name", "Gates");
m.put("age", 54);
m.put("weight", 67);
String[] children = {"Emma", "Catrin"};
m.put("children", children);
HashMap wife = new HashMap();
wife.put("first_name", "Melinda");
wife.put("last_name", "Gates");
wife.put("age", 45);
m.put("wife", wife);
System.out.println(m.get("first_name"));
System.out.println(m.get("age"));
HashMap w = ((HashMap)m.get("wife"));
System.out.println(w.get("first_name")));
m.put("age", 45);
m.put("age", ((Integer)m.get("age")) + 1);
m.put("first_name", "Stive");
m.put("wife", null);
"За да създадете нов обект, просто трябва да напишете две фигурни скоби: «{}»."
"В скобите можете да посочите данни за обект в следния формат: «ключ, двоеточие, стойност, запетая»."
„Полетата на обектите могат да бъдат достъпни по два начина:“
m.age = 45;
m[“age”] = 45;
„Ако посоченото поле не съществува, то се създава.“
„Моят предпазен клапан е претоварен or нещо подобно. Мисля, че трябва да си вземем почивка.“
GO TO FULL VERSION