[1,2,3]. 길이는 3, "123"을 얻을 수 있습니다. 길이는 3을 얻을 수 있으며, JS를 조금 이해하는 사람들은 이것을 알고 있습니다.
그러나 무엇을 평가할 것인가. 길이, regexp. 길이 "".TOSTRING. 길이, 1..tostring. 길이 ?
각각 1, 2, 0, 1을 얻습니다. 이 숫자는 무엇을 나타내나요?
실제로 함수의 길이는 공식 매개 변수의 수를 초래합니다.
간단한 예를 들어 봅시다 :
함수 테스트 (a, b, c) {} test.length // 3 기능 테스트 (a, b, c, d) {} test.length // 4그다지 간단하지는 않지만 특별한 것도 있습니다. 실제로 매개 변수를 정의하지 않고 인수를 통해 매개 변수를 호출하면 길이는 0 만 얻습니다.
함수 test () {console.log (arguments);} test.length // 0이 함수는 실제로 매개 변수를 전달할 수 있으며 매개 변수는 내부적으로 호출되지만 길이는 전달 된 매개 변수 수를 알 수 없습니다.
실제 매개 변수는 인수를 통해서만 얻을 수 있습니다. 기능이 실행될 때 길이.
함수 test () {console.log (arguments.length);} test (1,2,3); // output 3test (1,2,3,4); // 출력 4따라서 함수의 길이 속성은 공식 매개 변수의 수만 얻을 수 있지만 실제 매개 변수의 수를 알 수 없습니다.