"Bună, Amigo!"

— Bună, Bilaabo!

"Mă bucur să vă văd. Astăzi avem o lecție mică, dar foarte informativă. Azi vă voi vorbi despre limbajul JavaScript."

JavaScript - 1

"O limbă nouă? Cât de interesant..."

"JavaScript este popular în prezent datorită internetului. Faptul este că este singurul limbaj pe care îl pot executa toate browserele. Dacă doriți să adăugați animație sau logică paginii dvs. web, atunci puteți face acest lucru cu JavaScript."

„Este adevărat că JavaScript este cel mai popular limbaj?”

„Da, dar ar fi mai corect să spunem că este cea mai populară „a doua limbă”. Programatorii C++, Java, C# și PHP trebuie să scrie scripturi mici în JavaScript pentru a-și anima paginile web. Dar, mult mai puțini oameni doar scrie cod în JavaScript."

"De ce se numește JavaScript? Sună aproape ca Java."

„De fapt, inițial, se numea LiveScript, dar când Java a început să devină mai popular, a fost redenumit JavaScript.”

„Java și JavaScript sunt două limbi complet diferite. Nu le confundați.”

„Spre deosebire de Java, JavaScript nu are clase și nu acceptă tastarea statică, multithreading și multe altele. Java este ca un set mare de instrumente de construcție, în timp ce JavaScript este mai mult ca un cuțit al armatei elvețiene. JavaScript este conceput pentru a rezolva sarcini mici, dar Java este pentru rezolvarea sarcinilor mari și foarte mari."

„Iată câteva fapte despre JavaScript:”

„Primul fapt este că JavaScript are funcții, dar nu are clase”

„Pur și simplu scrieți programe folosind mai multe funcții și atât. De exemplu:”

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

„Noile funcții sunt declarate folosind «funcția <nume>».

"Alt exemplu:"

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

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 ? ab;
}

public static void main()
{
 int s = 3;
 int t = 5;
 int min = min(s,t);
}

„Al doilea fapt este că JavaScript are variabile, dar acele variabile nu au tipuri”

"JavaScript este un limbaj cu tastare dinamică. Aceasta înseamnă că variabilele de fapt nu au tipuri. Orice variabilă i se poate atribui o valoare de orice tip (valorile au tipuri). De exemplu:"

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();
}

„Dar tastarea dinamică crește riscul erorilor de rulare:”

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();
}

„În exemplul de mai sus, am folosit variabila k (un număr întreg) în loc de s (un șir de caractere). În Java, eroarea ar fi detectată în timpul compilării, dar în JavaScript, nu va fi prinsă decât mai târziu când codul rulează."

„Dacă doriți să declarați o variabilă în JavaScript, trebuie să scrieți «var <nume>». Nu există tipuri de variabile și nu există tipuri pentru metode/funcții sau argumentele acestora.

„JavaScript are foarte puține reguli stricte și multă anarhie”.

„Puteți declara o funcție cu 5 argumente și o puteți apela cu două — restul va fi pur și simplu nul. Puteți declara o funcție cu două argumente și puteți trece cinci când o apelați. Trei vor fi pur și simplu aruncate. Există un control minim. peste erori, greșeli de scriere și modificări.”

„Al treilea fapt este că JavaScript are instrucțiuni if, for și while”

„JavaScript are if, for, and while. Aceasta este o veste grozavă. Uită-te la aceste exemple:”

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);
 }
}

"Sunt destul de asemănătoare. Cred că mi-aș putea da seama cum funcționează codul scris în JavaScript."

— Optimismul tău este bun.

„Al patrulea fapt este că JavaScript acceptă blocurile try-catch-finally”

" JavaScript are excepții ( Eroare ) și asta e bine. Nu are excepții verificate , doar excepții nebifate similare cu o excepție RuntimeException . Construcția try-catch-finally funcționează la fel ca în Java. De exemplu:"

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);
 }
}

„Când încercăm să obținem lungimea șirului de caractere, va fi aruncată o excepție, deoarece variabila este nulă.”

„Al cincilea fapt este că JavaScript are matrice”

„Vești bune: JavaScript are matrice. Vești proaste: nu există liste sau colecții.”

„O altă veste bună este că matricele se pot extinde dinamic atunci când sunt adăugate elemente noi și scad pe măsură ce elementele sunt eliminate. Este mai mult ca un hibrid între o matrice și listă.

De exemplu:

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));
 }
}

„Ce sunt acele paranteze pătrate din declarația matricei?”

"Tocmai asta este o declarație de matrice. Pentru a declara o matrice, trebuie să scrieți paranteze pătrate. Apoi enumerați elementele matricei între paranteze. Declarați o matrice goală pur și simplu cu o pereche de paranteze."

Exemplu
var m = [];

„Al șaselea fapt este că JavaScript are obiecte”

„JavaScript are obiecte. De fapt, totul în JavaScript este un obiect, chiar și tipurile primitive. Fiecare obiect este reprezentat ca un set de perechi cheie-valoare. În general, fiecare obiect JavaScript este echivalent cu un HashMap în Java. Iată un exemplu de o declarație de obiect:"

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);

„Pentru a crea un obiect nou, trebuie doar să scrieți două acolade: «{}»."

„În acolade, puteți specifica datele obiectului în următorul format: „cheie, două puncte, valoare, virgulă”.”

„Câmpurile obiect pot fi accesate în două moduri:”

Declarații echivalente
m.age = 45;
m[“age”] = 45;

„Dacă câmpul specificat nu există, atunci acesta este creat.”

„Supapa mea de supraîncărcare este supraîncărcată sau așa ceva. Cred că ar trebui să luăm o pauză”.

„Al șaptelea fapt este că JavaScript a fost creat pentru a funcționa în paginile web.”