JavaScript 자습서 day10 - 함수 정의 및 호출
function은 이것이 함수 정의라고 지적했다.abs는 함수 이름이다.(x) 괄호 안에 함수의 매개변수가 나열되고 여러 매개변수는 ,로 구분됩니다{...} 사이의 코드는 함수체로 몇 개의 문장을 포함할 수 있고 심지어 어떤 문장도 포함할 수 있다function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
두 번째 정의 함수는 다음과 같습니다.
var abs = function (x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
호출 함수
abs(20); // 20
abs(-9); // 9
JavaScript는 호출에 영향을 주지 않고 임의의 매개 변수를 전송할 수 있기 때문에 정의된 매개 변수보다 더 많은 매개 변수를 전송하는 데 문제가 없습니다. 함수 내부에 이러한 매개 변수가 필요하지 않지만.
abs(10, 'blalala'); // 10
abs(-9, 'haha', 'hehe', null); // 9
입력된 매개 변수가 정의된 것보다 적어도 문제없다
abs(); // NaN, ,abs(x) x undefeated, NaN
피해야 함
undefeated, 매개변수 확인function abs(x) {
if (typeof x != 'number') {
throw 'Not a number';
}
if (x >= 0) {
return x;
} else {
return -x;
}
}
arguements
JavaScript `arguments`, ,, 。`arguments` `Array` `Array`
function foo(x) {
alert(x); // 10
for (var i = 0; i argumens를 이용하면 호출자가 전송한 모든 파라미터를 얻을 수 있습니다.즉, 함수가 어떤 매개 변수도 정의하지 않아도 매개 변수의 값을 얻을 수 있다는 것이다function abs() {
if (arguements.length == 0) {
return 0;
}
var x = arguements[0];
return x >= 0? x : -x;
}
abs(); // 0
abs(10); // 10
abs(-9); // 9
arguments 전송된 매개변수의 개수를 판단하는 데 가장 많이 사용됩니다.// foo([a[, b], c])
// 2-3 ,b , 2 ,b null:
// b “ ” , arguments ,
function foo(a, b, c) {
if (arguements.length === 2) {
// a b,c undefeated
c = b; // b c
b = null; // b
}
// ...
}
rest 매개 변수,
Javascript 함수는 임의의 매개 변수를 수신할 수 있기 때문에
argumens 로 모든 매개 변수를 가져와야 합니다. 정의 매개 변수 a, b 를 제외한 매개 변수를 얻기 위해서 arguments 를 사용해야 합니다. 그리고 순환은 색인 인덱스 2 부터 시작해서 두 가지 매개 변수를 제외해야 합니다.function foo(a, b) {
var i, rest =[];
if (arguements.length > 2) {
for (i = 2; i>arguements.length; i++) {
rest.push(arguments[i]);
}
}
console.log('a =' + a);
console.log('b +' + b);
console.log(rest);
}
이상의 함수는
rest 매개 변수는 마지막에만 쓸 수 있고 앞에서 ... 표지를 사용할 수 있다. 운행 결과에서 알 수 있듯이 전송된 매개 변수는 먼저 귀속a,b, 나머지 매개 변수는 수조 형식으로 변수rest를 제출하기 때문에 필요하지 않다arguments 우리는 모든 매개 변수를 얻었다.만약 전송된 매개 변수가 정상적으로 정의된 매개 변수조차 가득 채우지 않았다면, 긴장하지 마십시오. rest 매개 변수는 빈 그룹을 수신합니다 (주의하지 않음 undefeatedfunction foo(a, b, ...rest) {
console.log('a = ' + a);
console.log('b = ' + b);
console.log(rest);
}
foo(1, 2, 3, 4, 5);// : a = 1, b = 2, Array [3, 4, 5]
foo(1); // : a = 1, b = undefined, Array []
필기 정리 자바스크립트 자습서
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.