[1،2،3]. يمكن أن يحصل الطول 3 ، "123". يمكن أن يحصل الطول أيضًا على 3 ، وأولئك الذين يفهمون JS لا يعرفون ذلك قليلاً.
ولكن ماذا سيفث. الطول ، regexp. الطول ، "". الطول ، 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 (enduments.length) ؛} test (1،2،3) ؛ // الإخراج 3Test (1،2،3،4) ؛ // الإخراج 4لذلك ، يمكن أن تحصل خاصية الطول للدالة فقط على عدد المعلمات الرسمية ، ولكن لا يمكنها معرفة عدد المعلمات الحقيقية.