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