ผลต่างระหว่างรุ่นของ "01204435/javascript"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 9: | แถว 9: | ||
พิจารณาโปรแกรม 3 โปรแกรมต่อไปนี้ | พิจารณาโปรแกรม 3 โปรแกรมต่อไปนี้ | ||
− | a = 10; | + | a = 10; |
− | { | + | { |
− | + | var a = 20; // *** | |
− | + | console.log(a); | |
− | } | + | } |
− | console.log(a); | + | console.log(a); |
− | a = 10; | + | a = 10; |
− | function f() { | + | function f() { |
− | + | var a = 20; // *** | |
− | + | console.log(a); | |
− | }; | + | }; |
− | f(); | + | f(); |
− | console.log(a); | + | console.log(a); |
− | a = 10; | + | a = 10; |
− | function f() { | + | function f() { |
− | + | a = 20; // *** | |
− | + | console.log(a); | |
− | }; | + | }; |
− | f(); | + | f(); |
− | console.log(a); | + | console.log(a); |
อธิบายความแตกต่าง อธิบายว่าตัวแปร a ในบรรทัด *** ของแต่ละโปรแกรมหมายถึงตัวแปรตัวใด และเพราะเหตุใด | อธิบายความแตกต่าง อธิบายว่าตัวแปร a ในบรรทัด *** ของแต่ละโปรแกรมหมายถึงตัวแปรตัวใด และเพราะเหตุใด |
รุ่นแก้ไขเมื่อ 06:55, 13 มิถุนายน 2556
หน้านี้เป็นการทดลอง javascript และ node.js ซึ่งเป็นส่วนหนึ่งของวิชา 01204435
เอกสารอ้างอิงประกอบการทำแลบสามารถเอกสารจาก หน้า JavaScript ของ Mozilla Developer Network ได้ โดยอาจจะดูในส่วนของ JavaScript Guide
เนื้อหา
javascript: การทดลองเกี่ยวกับ scope
scope ใน block และใน function
พิจารณาโปรแกรม 3 โปรแกรมต่อไปนี้
a = 10; { var a = 20; // *** console.log(a); } console.log(a);
a = 10; function f() { var a = 20; // *** console.log(a); }; f(); console.log(a);
a = 10; function f() { a = 20; // *** console.log(a); }; f(); console.log(a);
อธิบายความแตกต่าง อธิบายว่าตัวแปร a ในบรรทัด *** ของแต่ละโปรแกรมหมายถึงตัวแปรตัวใด และเพราะเหตุใด
ตำแหน่งในการประกาศ
ในการทดลองต่อไป ให้สร้างไฟล์นามสกุล js และเรียกให้ทำงานจาก command line (ไม่ใช่ทยอยป้อนใน javascript console)
พิจารณาโปรแกรมสองโปรแกรมต่อไปนี้
var a = x; var x = 10; console.log(x); console.log(a);
var a = x; console.log(a);
จากผลการทดลอง ให้อธิบายขอบเขตของตัวแปร x ในตัวอย่างแรก
javascript: functions 1
ใน javascript มีวิธีการประกาศ function ได้หลายแบบ สองรูปแบบหลัก ๆ ที่เห็นมีดังตัวอย่างด้านล่าง แบบแรกคือประกาศฟังก์ชัน a เลย
function a() { return 10; }
และอีกแบบคือการประกาศฟังก์ชัน โดยไม่ระบุชื่อ จากนั้นค่อยนำไปกำหนดค่าให้กับตัวแปรที่แทนฟังก์ชันนั้น
var b = function() { return 20; };
ในการใช้งานทั่วไป เราจะไม่ค่อยพบความแตกต่างมาก แต่ให้พิจารณาตัวอย่างด้านล่างนี้