“สวัสดี อามีโก้!”

"สวัสดี บิลาโบ!"

"ฉันดีใจที่ได้พบคุณ วันนี้เรามีบทเรียนเล็กๆ แต่ได้ความรู้มากมาย วันนี้ฉันจะบอกคุณเกี่ยวกับภาษา JavaScript"

จาวาสคริปต์ - 1

"ภาษาใหม่เหรอ น่าสนใจจัง..."

"จาวาสคริปต์กำลังเป็นที่นิยมในปัจจุบันเนื่องจากอินเทอร์เน็ต ความจริงก็คือว่ามันเป็นภาษาเดียวที่เบราว์เซอร์ทั้งหมดสามารถใช้งานได้ หากคุณต้องการเพิ่มภาพเคลื่อนไหวหรือตรรกะในหน้าเว็บของคุณ คุณสามารถทำได้ด้วยจาวาสคริปต์"

"จริงหรือไม่ที่ JavaScript เป็นภาษาที่ได้รับความนิยมมากที่สุด"

"ใช่ แต่จะถูกต้องกว่าถ้าจะบอกว่ามันเป็น 'ภาษาที่สอง' ที่ได้รับความนิยมมากที่สุด โปรแกรมเมอร์ C++, Java, C# และ PHP จำเป็นต้องเขียนสคริปต์ขนาดเล็กใน JavaScript เพื่อทำให้หน้าเว็บมีชีวิตชีวาขึ้น แต่มีคนน้อยกว่ามากเท่านั้น เขียนโค้ดใน JavaScript"

"ทำไมถึงชื่อ JavaScript ฟังดูเหมือน Java เลย"

"อันที่จริง ในตอนแรกมันถูกเรียกว่า LiveScript แต่เมื่อ Java เริ่มเป็นที่นิยมมากขึ้น มันก็ถูกเปลี่ยนชื่อเป็น JavaScript"

"Java และ JavaScript เป็นสองภาษาที่แตกต่างกันโดยสิ้นเชิง อย่าสับสน"

"แตกต่างจาก Java ตรง JavaScript ไม่มีคลาส และไม่รองรับการพิมพ์แบบคงที่ มัลติเธรด และอื่นๆ อีกมากมายJava เป็นเหมือนชุดเครื่องมือก่อสร้างขนาดใหญ่ ในขณะที่ JavaScript เป็นเหมือนมีด Swiss Army JavaScript ออกแบบมาเพื่อแก้ปัญหา งานเล็กๆ แต่ Java มีไว้สำหรับแก้งานที่ใหญ่และใหญ่มาก"

"นี่คือข้อเท็จจริงบางประการเกี่ยวกับ JavaScript:"

"ข้อเท็จจริงประการแรกคือ JavaScript มีฟังก์ชัน แต่ไม่มีคลาส"

"คุณเพียงแค่เขียนโปรแกรมโดยใช้หลายฟังก์ชันเท่านั้น ตัวอย่างเช่น:"

จาวาสคริปต์
function min(a, b)
{
 return a
}
ชวา
public static int min(int a, int b)
{
return a
}

"ฟังก์ชันใหม่ถูกประกาศโดยใช้ «ฟังก์ชัน <ชื่อ>»

"ตัวอย่างอื่น:"

จาวาสคริปต์
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 อาร์กิวเมนต์และเรียกมันด้วยอาร์กิวเมนต์ 2 อาร์กิวเมนต์ ส่วนที่เหลือจะเป็นค่าว่าง คุณสามารถประกาศฟังก์ชันที่มีอาร์กิวเมนต์ 2 อาร์กิวเมนต์ และส่งผ่าน 5 อาร์กิวเมนต์ เมื่อคุณเรียกใช้อาร์กิวเมนต์ 3 อาร์กิวเมนต์จะถูกโยนทิ้งไป มีการควบคุมน้อยที่สุด เหนือข้อผิดพลาด การพิมพ์ผิด และการเปลี่ยนแปลง"

"ความจริงประการที่สามคือ 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-final"

" JavaScriptมีข้อยกเว้น ( Error ) และนั่นก็ดี ไม่มีการตรวจสอบข้อยกเว้น มีเพียง ข้อยกเว้น ที่ไม่ได้ตรวจสอบซึ่งคล้ายกับ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 ทุกตัวจะเทียบเท่ากับ HashMap ใน Java นี่คือตัวอย่างของ การประกาศวัตถุ:"

จาวาสคริปต์
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 ถูกสร้างขึ้นเพื่อทำงานภายในหน้าเว็บ"