> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 함수 매개변수_javascript 기술의 수정 가능성에 대한 간략한 토론

JavaScript 함수 매개변수_javascript 기술의 수정 가능성에 대한 간략한 토론

WBOY
풀어 주다: 2016-05-16 17:10:43
원래의
1494명이 탐색했습니다.

작성된 시험문제를 생각하다가 나온건데, 보통 함수 내부에서는 그 누구도 매개변수 값을 수정하지 않습니다. 여기서는 세 가지 수정 방법에 대해서만 설명합니다.

1, 함수 선언 시 형식 매개변수를 직접 수정합니다.

코드 복사 코드는 다음과 같습니다. 다음과 같습니다:

function f1(a) {
Alert(a)
a = 1;//형식 매개변수 a 수정
Alert(1 === a; );
경고 (1 === 인수[0]);
f1(10);

함수는 호출 시 매개변수 10을 전달합니다. , 먼저 10을 팝업하고, 수정 a는 1이고, true는 두 번 팝업되고, a와 인수[0]은 모두 1입니다.

2, 함수 내부의 인수 개체를 통해

을 수정합니다. 코드는 다음과 같습니다. 다음과 같습니다:
function f2(a) {
경고(a)
인수[0] = 1;//인수 수정
경고(1 === a );
경고 (1 === 인수[0]);

}

효과는 f1 함수와 동일합니다.

3. 함수 내부에 선언된 지역 변수는 형식 매개변수와 이름이 동일합니다.

코드 복사 코드는 다음과 같습니다.
function f3(a) {
Alert(a)
var a = 1;//지역 변수 a를 선언하고 값을 할당합니다. of 1
경고(1 === a);
경고(인수[0]);
}
f3(10);

함수 f3은 형식 매개변수 a를 선언하고 함수 내부에 지역 변수 a를 선언합니다. 할당은 1이지만 여기서 a는 여전히 매개변수 a입니다. 이는 마지막에 나타나는 인수[0]가 1로 수정된다는 사실로 증명할 수 있습니다. .

4. 값을 할당하지 않고 그냥 지역변수 a를 선언하면 상황이 달라집니다.

코드 복사 코드는 다음과 같습니다.
function f3(a) {
var a;//선언만 있고 할당은 없습니다
Alert(a); 인수[0 ]);
}
f3(10);


이때 뜨는 것은 정의되지 않은 10입니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿