[1,2,3]. ความยาวสามารถได้รับ 3 และ "123" ความยาวสามารถได้รับ 3. ใครก็ตามที่เข้าใจ JS รู้เรื่องนี้
แต่สิ่งที่จะประเมินความยาว, regexp.length, "" .toString.length, 1..ToString.length รับ?
รับ 1, 2, 0 และ 1 ตามลำดับ ตัวเลขเหล่านี้เป็นตัวแทนอะไร?
นี่เป็นคำถามที่เพื่อนใหม่หลายคนในกลุ่มถาม ในความเป็นจริงความยาวของฟังก์ชั่นคือจำนวนพารามิเตอร์ที่เป็นทางการ
ลองมาตัวอย่างสั้น ๆ :
การคัดลอกรหัสมีดังนี้:
การทดสอบฟังก์ชั่น (a, b, c) {}
test.length // 3
การทดสอบฟังก์ชั่น (a, b, c, d) {}
test.length // 4
มันไม่ใช่เรื่องง่ายมาก แต่ก็มีคนพิเศษ หากพารามิเตอร์เรียกว่าภายในผ่านอาร์กิวเมนต์และไม่มีการกำหนดพารามิเตอร์จริงความยาวจะได้รับเพียง 0
การคัดลอกรหัสมีดังนี้:
การทดสอบฟังก์ชั่น () {console.log (อาร์กิวเมนต์);}
test.length // 0
ฟังก์ชั่นนี้สามารถส่งผ่านพารามิเตอร์และพารามิเตอร์ที่เรียกว่าภายใน แต่ความยาวไม่สามารถรู้จำนวนพารามิเตอร์ที่ส่งผ่าน
พารามิเตอร์จริงสามารถรับได้ผ่านอาร์กิวเมนต์ความยาวเมื่อฟังก์ชั่นถูกเรียกใช้งาน
การคัดลอกรหัสมีดังนี้:
การทดสอบฟังก์ชั่น () {console.log (arguments.length);}
ทดสอบ (1,2,3); // เอาต์พุต 3
ทดสอบ (1,2,3,4); // เอาต์พุต 4
ดังนั้นคุณสมบัติความยาวของฟังก์ชั่นสามารถรับจำนวนพารามิเตอร์ที่เป็นทางการเท่านั้น แต่ไม่สามารถรู้จำนวนพารามิเตอร์จริงได้