"Hej, Amigo!"

"Hej, Bilaabo!"

"Jag är glad att se dig. Idag har vi en liten men mycket informativ lektion. Idag ska jag berätta om JavaScript-språket."

JavaScript - 1

"Ett nytt språk? Hur intressant..."

"JavaScript är för närvarande populärt tack vare Internet. Faktum är att det är det enda språket som alla webbläsare kan köra. Om du vill lägga till animation eller logik på din webbsida kan du göra det med JavaScript."

"Är det sant att JavaScript är det mest populära språket?"

"Ja, men det skulle vara mer korrekt att säga att det är det mest populära "andra språket". C++-, Java-, C#- och PHP-programmerare behöver skriva små skript i JavaScript för att liva upp sina webbsidor. Men mycket färre människor bara skriv kod i JavaScript."

"Varför heter det JavaScript? Det låter nästan som Java."

"Faktiskt, från början hette det LiveScript, men när Java började bli mer populärt döptes det om till JavaScript."

"Java och JavaScript är två helt olika språk. Blanda inte ihop dem."

"Till skillnad från Java har JavaScript inga klasser och stöder inte statisk typning, multithreading och mycket mer. Java är som en stor uppsättning konstruktionsverktyg, medan JavaScript är mer som en schweizisk armékniv. JavaScript är designat för att lösa små uppgifter, men Java är till för att lösa stora och mycket stora uppgifter."

"Här är några fakta om JavaScript:"

"Det första faktum är att JavaScript har funktioner, men inga klasser"

"Du skriver helt enkelt program med flera funktioner och det är allt. Till exempel:"

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

"Nya funktioner deklareras med «funktion <namn>».

"Ett annat exempel:"

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

"Det andra faktum är att JavaScript har variabler, men dessa variabler har inga typer"

"JavaScript är ett dynamiskt skrivet språk. Det betyder att variabler faktiskt inte har typer. Vilken variabel som helst kan tilldelas ett värde av vilken typ som helst (värden har typer). Till exempel:"

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

"Men dynamisk typning ökar risken för körtidsfel:"

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

"I exemplet ovan använde vi variabeln k (ett heltal) istället för s (en sträng). I Java skulle felet upptäckas vid kompilering, men i JavaScript kommer det inte att fångas förrän senare när koden körs."

"Om du vill deklarera en variabel i JavaScript måste du skriva «var <namn>". Det finns inga variabeltyper, och det finns inga typer för metoder/funktioner eller deras argument."

"JavaScript har väldigt få strikta regler och mycket anarki."

"Du kan deklarera en funktion med 5 argument och anropa den med två - resten blir bara null. Du kan deklarera en funktion med två argument och skicka fem när du anropar den. Tre kommer helt enkelt att kastas bort. Det finns minimal kontroll över fel, stavfel och ändringar."

"Det tredje faktum är att JavaScript har om, för och medan uttalanden"

"JavaScript har om, för och medan. Det här är fantastiska nyheter. Titta på dessa exempel:"

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

"De är ganska lika. Jag tror att jag skulle kunna lista ut hur kod skriven i JavaScript fungerar."

"Din optimism är bra."

"Det fjärde faktum är att JavaScript stöder försök-fånga-slutligen-block"

" JavaScript har undantag ( Error ) och det är bra. Det har inga markerade undantag, bara omarkerade undantag som liknar en RuntimeException . Try -catch-finally- konstruktionen fungerar på samma sätt som i Java. Till exempel:"

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

"När vi försöker få längden på strängen, kommer ett undantag att kastas eftersom variabeln är null."

"Det femte faktum är att JavaScript har arrayer"

"Goda nyheter: JavaScript har arrayer. Dåliga nyheter: det finns inga listor eller samlingar."

"En annan god nyhet är att arrayer dynamiskt kan expandera när nya element läggs till och minska när element tas bort. Det är mer som en hybrid mellan en array och lista. "

Till exempel:

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

"Vad är de där hakparenteserna i arraydeklarationen?"

"Det är precis vad en arraydeklaration är. För att deklarera en array måste du skriva hakparenteser. Sedan listar du elementen i arrayen mellan parenteserna. Du deklarerar en tom array helt enkelt med ett par parenteser."

Exempel
var m = [];

"Det sjätte faktum är att JavaScript har objekt"

"JavaScript har objekt. Faktum är att allt i JavaScript är ett objekt, även primitiva typer. Varje objekt representeras som en uppsättning nyckel-värdepar. Grovt sett är varje JavaScript-objekt likvärdigt med en HashMap i Java. Här är ett exempel på en objektdeklaration:"

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

"För att skapa ett nytt objekt behöver du bara skriva två hängslen: «{}»."

"Inuti klammerparenteserna kan du ange objektdata i följande format: «nyckel, kolon, värde, komma»."

"Objektfält kan nås på två sätt:"

Motsvarande uttalanden
m.age = 45;
m[“age”] = 45;

"Om det angivna fältet inte finns skapas det."

"Min avlastningsventil är överbelastad eller något. Jag tycker att vi ska ta en paus."

"Det sjunde faktum är att JavaScript skapades för att fungera på webbsidor."