자세한 JavaScript 기능 개요
3103 단어 webdevbeginnersjavascript
함수 소개
함수는 실행해야 할 때마다 호출할 수 있는 재사용 가능한 코드 블록입니다. 함수는 함수(재귀 함수) 내에서 또는 코드의 어디에서나 호출할 수 있습니다.
JavaScript에서는 두 가지 방법으로 함수를 만들 수 있습니다.
함수 선언
함수 선언문이라고도 하는 함수 선언은 지정된 매개변수를 사용하여 함수를 정의합니다. 함수 선언으로 생성된 함수에는 이름이 필요합니다.
// Example of function declaration
function sum(a,b) {
return a+b;
}
sum(2,5) // 7
위의 함수는 두 숫자 a와 b의 합을 반환합니다. 함수 매개변수 a 및 b는 값으로 함수에 전달되므로 함수 본문 내의 코드가 함수에 전달된 매개변수에 완전히 새로운 값을 할당하는 경우 변경 사항이 전체적으로 또는 해당 함수를 호출한 코드에 반영되지 않습니다. .
기본적으로 함수는 정의되지 않은 값을 반환합니다. 다른 값을 반환하려면 함수에 반환할 값을 지정하는 return 문이 있어야 합니다.
함수 선언 호이스팅
JavaScript의 함수 선언은 둘러싸는 함수 또는 전역 범위의 맨 위로 호이스팅됩니다. 선언하기 전에 함수를 사용할 수 있습니다.
declarationHoisted(); // logs "hoisted function"
function declarationHoisted() {
console.log('hoisted function');
}
기능 범위
전역 범위에 정의된 함수는 전역 범위에 정의된 모든 변수에 액세스할 수 있습니다. 다른 함수 내부에 정의된 함수는 상위 함수에 정의된 모든 변수와 상위 함수가 액세스할 수 있는 다른 모든 변수에도 액세스할 수 있습니다.
// The following variables are defined in the global scope
let num1 = 20,
let num2 = 3,
let name = 'mohan';
// This function is defined in the global scope
function multiply() {
return num1 * num2;
}
multiply(); // Returns 60
// A nested function example
function getScore() {
let num1 = 2,
let num2 = 3;
function add() {
return name + ' scored ' + (num1 + num2);
}
return add();
}
getScore(); // Returns "mohan scored 5"
함수 표현
함수 표현식은 함수 선언과 매우 유사하며 구문도 거의 동일합니다. 함수 표현식과 함수 선언의 주요 차이점은 함수 이름이며 익명 함수를 생성하기 위해 함수 표현식에서 생략할 수 있습니다.
// Example of anonymous function expression
let sayHiAnonymous = function() {
console.log("hello");
};
// Example of arrow function expression
let sayHiArrow = () =>{
console.log("hello");
}
함수 표현식 호이스팅
JavaScript의 함수 표현식은 함수 선언과 달리 호이스팅되지 않습니다. 함수 표현식을 생성하기 전에는 함수 표현식을 사용할 수 없습니다.
console.log(notHoisted) // undefined
// even though the variable name is hoisted, the definition isn't. so it's undefined.
notHoisted(); // TypeError: notHoisted is not a function
var notHoisted = function() {
console.log('bar');
};
함수 인수 및 매개변수
함수에 전달되는 것의 수를 함수 인수라고 하고 함수가 호출되는 매개변수의 수를 함수 매개변수라고 합니다.
const myFunc = function(a:any,b:any){
console.log(`number of things passed in function ${arguments.length}`);
console.log(`The number of params that function takes is ${myFunc.length}`);
if (arguments.length === myFunc.length) {
console.log(`we have a match`);
} else {
console.log(`No match`);
}
};
myFunc(2,3); // "we have a match"
myFunc(2,3,4,5,6) // "No match"
Reference
이 문제에 관하여(자세한 JavaScript 기능 개요), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/neon010/detailed-javascript-function-overview-1i97텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)