JavaScript

Java колекции
Ниво, Урок
На разположение

„Здрасти, Амиго!“

„Здравей, Билаабо!“

„Радвам се да ви видя. Днес имаме малък, но много информативен урок. Днес ще ви разкажа за езика JavaScript.“

JavaScript - 1

„Нов език? Колко интересно…“

"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 има функции, но няма класове“

„Просто пишете програми, като използвате няколко функции и това е. Например:“

JavaScript
function min(a, b)
{
 return a
}
Java
public static int min(int a, int b)
{
return a
}

„Новите функции се декларират с помощта на «функция <име>».

"Друг пример:"

JavaScript
function min(a, b)
{
 return a < b ? a: b;
}

function main()
{
 var s = 3;
 var t = 5;
 var min = min(s, t);
}
Java
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 е динамично въведен език. Това означава, че променливите всъщност нямат типове. На всяка променлива може да бъде присвоена стойност от произволен тип (стойностите имат типове). Например:"

JavaScript
function main()
{
 var s = "Bender";
 var k = 1;
 var n = s.length;
}
Java
public static void main()
{
 String s ="Bender";
 int k = 1;
 int n = s.length();
}

„Но динамичното въвеждане увеличава риска от грешки по време на изпълнение:“

JavaScript
function main()
{
 var s = "Bender";
 var k = 1;
 var n = k.length;
}
Java
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. Това е страхотна новина. Вижте тези примери:“

JavaScript
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);
 }
}
Java
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. Например:"

JavaScript
function main()
{
 try
 {
  var s = null;
  var n = s.length;
 }
 catch(e)
 {
  alert(e);
 }
}
Java
public static void main()
{
 try
 {
  String s = null;
  int n = s.length();
 }
 catch(Exception e)
 {
  System.out.println(e);
 }
}

„Когато се опитаме да получим дължината на низа, ще бъде хвърлено изключение, тъй като променливата е нула.“

„Петият факт е, че JavaScript има масиви“

„Добра новина: JavaScript има масиви. Лоша новина: няма списъци or колекции.“

„Друга добра новина е, че масивите могат динамично да се разширяват, когато се добавят нови елементи, и да намаляват, когато елементите се премахват. Това е по-скоро хибрид между масив и списък. “

Например:

JavaScript
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]);
 }
}
Java
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. Ето един пример за декларация на обект:"

JavaScript
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;
Java
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 нещо подобно. Мисля, че трябва да си вземем почивка.“

„Седмият факт е, че JavaScript е създаден да работи в уеб страници.“

Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION