[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.
Function test () {console.log (аргументы);} test.length // 0Эта функция действительно может передавать параметры, и параметры также называются внутренне, но длина не может знать количество передаваемых параметров.
Фактические параметры могут быть получены только через аргументы. Длина, когда функция выполняется.
function test () {console.log (arguments.length);} test (1,2,3); // вывод 3 -тест (1,2,3,4); // Вывод 4Следовательно, свойство длины функции может получить только количество его формальных параметров, но не может знать количество реальных параметров.