javascript 에서 function 의 length 속성 분석

1098 단어
[1,2,3].length  3, "123". length 를 얻 을 수 있 습 니 다.  3 도 얻 을 수 있다.
그러나.  eval.length,RegExp.length,"".toString.length,1..toString.length  뭘 얻 을 수 있 을까요?
각각 1, 2, 0, 1 을 얻 었 는데 이 숫자 들 은 무엇 을 대표 합 니까?
이것 은 그룹 내 많은 신인 친구 들 이 줄곧 묻 는 질문 인 데, 사실 함수 의 length 는 형 삼 개 수 를 얻 었 다.우 리 는 간단하게 예 를 들 어 보 자.
 
  
function test(a,b,c) {}
test.length // 3

function test(a,b,c,d) {}
test.length // 4


간단 하 지 는 않 지만 특수 한 것 도 있 습 니 다. 함수 내부 에 arguments 를 통 해 파 라 메 터 를 호출 하고 실제 정의 되 지 않 으 면 length 는 0 만 얻 을 수 있 습 니 다.
 
  
function test() { console.log( arguments );}
test.length // 0

이 함 수 는 확실히 파 라 메 터 를 전달 할 수 있 고 내부 에서 도 파 라 메 터 를 호출 했 지만 length 는 들 어 오 는 매개 변수의 개 수 를 알 수 없습니다.함수 가 실 행 될 때 만 통과 할 수 있 습 니 다.  arguments.length  실제 참 수 를 얻다.
 
  
function test() { console.log( arguments.length );}
test(1,2,3); // 3
test(1,2,3,4); // 4

그래서 함수 의 length 속성 은 그의 형 삼 개수 만 얻 을 수 있 을 뿐 실제 참 수 를 알 수 없습니다.

좋은 웹페이지 즐겨찾기