อ็อบเจ็กต์โกลบอลของโหนดคือ "โกลบอล" บทบาทพื้นฐานที่สุดของโกลบอลคือการทำหน้าที่เป็นโฮสต์ของตัวแปรโกลบอล และตัวแปรโกลบอลทั้งหมด (ยกเว้นโกลบอลเอง) เป็นคุณลักษณะของอ็อบเจ็กต์โกลบอล คุณสมบัติส่วนกลางสามารถเข้าถึงได้โดยตรงใน Node.js โดยไม่ต้องรวมไว้ในแอปพลิเคชัน
สภาพแวดล้อมการทำงานของบทช่วยสอนนี้: ระบบ Windows 7, nodejs เวอร์ชัน 16, คอมพิวเตอร์ DELL G3
มีอ็อบเจ็กต์พิเศษใน JavaScript ที่เรียกว่า Global Object ซึ่งและคุณสมบัติทั้งหมดสามารถเข้าถึงได้ทุกที่ในโปรแกรม นั่นคือ ตัวแปรโกลบอล
ใน JavaScript ของเบราว์เซอร์ โดยปกติแล้ว window จะเป็นอ็อบเจ็กต์โกลบอล ในขณะที่ อ็อบเจ็กต์โกลบอลใน Node.js จะเป็นโกลบอล และตัวแปรโกลบอลทั้งหมด (ยกเว้นโกลบอลเอง) จะเป็นคุณสมบัติของอ็อบเจ็กต์โกลบอล
ใน Node.js เราสามารถเข้าถึงคุณสมบัติระดับโลกได้โดยตรงโดยไม่ต้องรวมไว้ในแอปพลิเคชัน
Global Objects และ Global Variables
บทบาทพื้นฐานที่สุดของ global คือการทำหน้าที่เป็นโฮสต์ของตัวแปร global ตามคำจำกัดความของ ECMAScript ตัวแปรที่ตรงตามเงื่อนไขต่อไปนี้คือตัวแปรส่วนกลาง:
ตัวแปรที่กำหนดที่ระดับนอกสุด
คุณลักษณะของตัวแปร
ที่กำหนดโดยปริยาย (ตัวแปรที่ไม่มีการกำหนดโดยตรง)
เมื่อคุณกำหนดตัวแปรร่วม ตัวแปรจะกลายเป็นคุณสมบัติของอ็อบเจ็กต์ร่วมด้วย และในทางกลับกัน ควรสังเกตว่าใน Node.js คุณไม่สามารถกำหนดตัวแปรในระดับนอกสุดได้ เนื่องจากรหัสผู้ใช้ทั้งหมดเป็นของโมดูลปัจจุบัน และตัวโมดูลเองไม่ใช่บริบทภายนอกสุด
หมายเหตุ: เป็นการดีที่สุดที่จะไม่ใช้ var เพื่อกำหนดตัวแปรเพื่อหลีกเลี่ยงการแนะนำตัวแปรส่วนกลาง เนื่องจากตัวแปรส่วนกลางจะทำให้เนมสเปซเสียหาย และเพิ่มความเสี่ยงของการมีเพศสัมพันธ์ของโค้ด
1. __filename
สร้าง global.js ใหม่ด้วยเนื้อหาต่อไปนี้:
console.log( __filename );
รันดังนี้:
node global.js __filename=/root/node_test/global.js
2. __dirname
สร้าง dirname.js ใหม่ด้วย เนื้อหาต่อไปนี้:
console.log( __dirname);
รันดังนี้:
node dirname.js /root/node_test
3. setTimeout(cb, ms)
setTimeout(cb, ms) ฟังก์ชันโกลบอลดำเนินการฟังก์ชันที่ระบุ (cb) หลังจากหมายเลขที่ระบุ ของมิลลิวินาที (ms) :setTimeout() รันฟังก์ชันที่ระบุเพียงครั้งเดียวเท่านั้น
ส่งคืนค่าการจัดการที่แสดงถึงตัวจับเวลา
4. clearTimeout(t)
clearTimeout(t) ฟังก์ชันโกลบอลใช้เพื่อหยุดตัวจับเวลาที่สร้างไว้ก่อนหน้านี้ผ่าน setTimeout() พารามิเตอร์ t คือตัวจับเวลาที่สร้างขึ้นผ่านฟังก์ชัน setTimeout()
5. setInterval(cb, ms)
setInterval(cb, ms) ฟังก์ชันโกลบอลดำเนินการฟังก์ชันที่ระบุ (cb) หลังจากจำนวนมิลลิวินาทีที่ระบุ (ms)
ส่งคืนค่าการจัดการที่แสดงถึงตัวจับเวลา สามารถล้างตัวจับเวลาได้โดยใช้ฟังก์ชัน clearInterval(t)
เมธอด setInterval() จะยังคงเรียกใช้ฟังก์ชันต่อไปจนกว่าจะมีการเรียก clearInterval() หรือหน้าต่างถูกปิด
6. คอนโซล
วิธีการของวัตถุคอนโซลจะเหมือนกับวิธีการพิมพ์ js แบบดั้งเดิมในเบราว์เซอร์ ซึ่งละไว้
7. กระบวนการ
เป็นอ็อบเจ็กต์ที่ใช้อธิบายสถานะกระบวนการของ Node.js ปัจจุบัน และจัดให้มีอินเทอร์เฟซที่เรียบง่ายกับระบบปฏิบัติการ โดยปกติแล้วเมื่อคุณเขียนโปรแกรมบรรทัดคำสั่งในเครื่อง คุณจะต้องจัดการกับมัน
ออก
เริ่มทำงานเมื่อกระบวนการพร้อมที่จะออก
ก่อนออก
เหตุการณ์นี้จะถูกทริกเกอร์เมื่อโหนดเคลียร์ลูปเหตุการณ์และไม่มีการจัดเตรียมอื่นใด โดยปกติ โหนดจะออกเมื่อไม่มีการกำหนดกระบวนการไว้ แต่สามารถเรียกตัวฟัง 'beforeExit' แบบอะซิงโครนัสได้ เพื่อให้โหนดดำเนินการต่อไป
ไม่ได้รับข้อยกเว้น
เหตุการณ์นี้จะถูกทริกเกอร์เมื่อมีฟองข้อยกเว้นกลับเข้าไปในลูปเหตุการณ์ หากเพิ่มจอภาพลงในข้อยกเว้น การดำเนินการเริ่มต้น (พิมพ์การติดตามสแต็กและออก) จะไม่เกิดขึ้น
เหตุการณ์สัญญาณจะถูกทริกเกอร์เมื่อกระบวนการได้รับสัญญาณ สำหรับรายการสัญญาณ โปรดดูชื่อสัญญาณ POSIX มาตรฐาน เช่น SIGINT, SIGUSR1 เป็นต้น