“嗨,阿米戈!”
“嗨,比拉博!”
“很高興見到你。今天我們有一個小但非常有用的課程。今天我將向你介紹 JavaScript 語言。”

“一種新的語言?多麼有趣……”
“由於 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 有函數,但沒有類”
“你只需使用幾個函數編寫程序,僅此而已。例如:”
function min(a, b)
{
return a
}
public static int min(int a, int b)
{
return a
}
“使用 «function <name>» 聲明新函數。
“另一個例子:”
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(整數)而不是 s(字符串)。在 Java 中,錯誤會在編譯時檢測到,但在 JavaScript 中,直到稍後代碼時才會被捕獲在跑。”
“如果你想在 JavaScript 中聲明一個變量,你需要寫 «var <name>»。沒有變量類型,也沒有方法/函數或它們的參數的類型。”
“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);
}
}
“它們非常相似。我想我可以弄清楚用 JavaScript 編寫的代碼是如何工作的。”
“你的樂觀很好。”
“第四個事實是 JavaScript 支持 try-catch-finally 塊”
“ JavaScript有異常(錯誤),這很好。它沒有檢查異常,只有類似於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 有數組。壞消息:沒有列表或集合。”
“另一個好消息是,數組可以在添加新元素時動態擴展,並在刪除元素時動態減少。它更像是數組和列表的混合體。 ”
例如:
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。下面是一個示例對象聲明:"
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;
“如果指定的字段不存在,則會創建它。”
“我的洩壓閥超載了或什麼的。我想我們應該休息一下。”
GO TO FULL VERSION