JavaScript 함수 심층 분석
⇒ 간단한 기능..
// Function define & defination..
function strToObj(str){
let obj = new Object();
for (let s of str){
if (s !== ''){
obj[s] = s;
}
}
return obj;
}
// Invoking function with calling..
console.log(strToObj("Asad Anik"));
⇒ 함수를 구성합니다. 이 모드는 런타임에서 기능을 작동하고 선언하는 데 아주 좋습니다😎. 그리고 Runtime은 이를 정상적인 기능으로 만듭니다. 런타임 함수라고도 합니다.
→ Object를 생성하거나 Class의 Constructor 메소드를 호출하는 것과 같은 new 키워드와 유사한 기능.
→ 구문 ⇒ 새 함수(인수, 본문);
// Actual function in JavaScript Behid the scense..
const strToObj = new Function(
'str',
`let obj = new Object();
for (let s of str){
if (s !== ''){
obj[s] = s
}
}
return obj;`
);
console.log(strToObj("Asad Anik"));
→ 다중 매개변수 사용.
⇒ 문법 — new Function(Argument1, Argument2, ….., Body);
// Multiple arguments..
const mySum = new Function(
'a',
'b',
`
const sum = a + b;
console.log(sum);
`
);
// Calling & Invoking..
mySum(20, 10);
→ 이런 식으로 코딩할 수도 있습니다.
// Take all data of function into an object.
const fData = {
params: ['num1', 'num2'],
body: ['const sum = num1 + num2', 'return sum']
};
// Bring body array to string body..
const fBody = fData.body.reduce((acc, cur) => {
acc += cur + ';';
return acc;
}, '');
// Calling Function Constructor..
const myOwnFunc = new Function(...fData.params, fBody);
console.log(myOwnFunc(20, 10));
다중 작업 생성자 함수.
// Mutiple Operations Constructor Function..
const Operations = [
{
args: [10, 20],
params: ['num1', 'num2'],
body: `console.log("Operation 1:", num1 + num2)`
},
{
args: [10, 20],
params: ['num1', 'num2'],
body: `console.log("Operation 2:", num1 - num2)`
},
{
args: [10, 20],
params: ['num1', 'num2'],
body: `console.log("Operation 3:", num1 * num2)`
},
{
args: [10, 20],
params: ['num1', 'num2'],
body: `console.log("Operation 4:", num1 / num2)`
},
];
// Calling Stack..
Operations.forEach((operation) => {
const fn = new Function(...operation.params, operation.body);
fn(...operation.args);
});
Reference
이 문제에 관하여(JavaScript 함수 심층 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asadanik/javascript-functions-deep-dive-522e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)