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