“嗨,阿米戈!”

“嗨,比拉博!”

“很高興見到你。今天我們有一個小但非常有用的課程。今天我將向你介紹 JavaScript 語言。”

JavaScript - 1

“一種新的語言?多麼有趣……”

“由於 Internet,JavaScript 目前很流行。事實是它是所有瀏覽器都可以執行的唯一語言。如果你想在網頁中添加動畫或邏輯,那麼你可以用 JavaScript 來完成。”

“JavaScript 真的是最流行的語言嗎?”

“是的,但更準確地說,它是最流行的‘第二語言’。C++、Java、C# 和 PHP 程序員需要用 JavaScript 編寫小腳本來使他們的網頁生動起來。但是,只有更少的人用 JavaScript 編寫代碼。”

“為什麼叫JavaScript?聽起來和Java差不多。”

“其實,一開始,它叫LiveScript,但是當Java開始流行起來的時候,就改名為JavaScript了。”

“Java 和 JavaScript 是兩種完全不同的語言。不要混淆它們。”

“與 Java 不同,JavaScript 沒有類,也不支持靜態類型、多線程等等。Java就像一大套構造工具,而 JavaScript 更像是一把瑞士軍刀。JavaScript旨在解決問題小任務,但 Java 用於解決大型和超大型任務。”

“這裡有一些關於 JavaScript 的事實:”

“第一個事實是 JavaScript 有函數,但沒有類”

“你只需使用幾個函數編寫程序,僅此而已。例如:”

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

“使用 «function <name>» 聲明新函數。

“另一個例子:”

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

function main()
{
 var s = 3;
 var t = 5;
 var min = min(s, t);
}
爪哇
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);
}

“第二個事實是 JavaScript 有變量,但這些變量沒有類型”

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

“但是動態類型會增加運行時錯誤的風險:”

JavaScript
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(整數)而不是 s(字符串)。在 Java 中,錯誤會在編譯時檢測到,但在 JavaScript 中,直到稍後代碼時才會被捕獲在跑。”

“如果你想在 JavaScript 中聲明一個變量,你需要寫 «var <name>»。沒有變量類型,也沒有方法/函數或它們的參數的類型。”

“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);
 }
}
爪哇
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);
 }
}

“它們非常相似。我想我可以弄清楚用 JavaScript 編寫的代碼是如何工作的。”

“你的樂觀很好。”

“第四個事實是 JavaScript 支持 try-catch-finally 塊”

JavaScript有異常(錯誤),這很好。它沒有檢查異常,只有類似於RuntimeException的未檢查異常。try -catch-finally構造與 Java 中的工作方式相同。例如:”

JavaScript
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 有數組。壞消息:沒有列表或集合。”

“另一個好消息是,數組可以在添加新元素時動態擴展,並在刪除元素時動態減少。它更像是數組和列表的混合體。

例如:

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]);
 }
}
爪哇
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 對像都相當於 Java 中的一個 HashMap。下面是一個示例對象聲明:"

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;
爪哇
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;

“如果指定的字段不存在,則會創建它。”

“我的洩壓閥超載了或什麼的。我想我們應該休息一下。”

“第七個事實是,JavaScript 是為在網頁內部工作而創建的。”