|자바스크립트| 자바스크립트: 함수

          -Intro to Functions
          -Arguments Intro
          -Function with Multiple Arguments
          -The Return Keyword
          -Function Scope
          -Block Scope
          -Lexical Scope
          -Function Expressions
          -Higher Order Functions
          -Returning Functions
          -Defining Methods
          -The Keyword 'this'
          -Using Try/Catch 

함수 소개



함수는 재사용 가능한 프로시저입니다.
함수를 사용하면 재사용 가능한 모듈식 코드를 작성할 수 있습니다.
나중에 실행할 수 있는 코드 "덩어리"를 정의합니다. 우리는 항상 사용합니다.

통사론

함수 함수 이름() {
여기서 뭔가 해
}


function singSong() {
  console.log("Do"); 
  console.log("RE"); 
  console.log("MI"); 
}

singSong()
singSong()
singSong()



코드의 출력은
도레미

인수 소개



인수를 사용하면 입력을 받는 함수를 작성할 수 있습니다.

입력이 없는 코드

"hello".toUpperCase(); 


입력이 있는 코드


"hello".indexOf('h'); 
"hello".indexOf('o'); 


인수의 요점은 입력을 사용하여 결과를 변경하기 위해 코드 내에서 어떤 일이 발생하도록 허용한다는 것입니다.

여러 인수가 있는 함수





function greet(firstName, lastName) {
 console.log(`Hey there, ${firstName}! ${lastName}.`)
}


코드에는 쉼표로 구분된 두 개의 매개변수가 정의되어 있습니다.


greet('Jane','John');



출력은

안녕, 제인, 존.

반환 키워드



return 키워드는 호출할 때 값을 반환하는 내장 메서드입니다.


function repeat(str, numTimes) {
  let result = '';
  for (let i = 0; i < numTimes; i++) {
    result += str; 
  }
  console.log(result); 
}

function add(x, y) {
  let sum = x + y; 
  return sum;
}


Return 문은 함수 실행을 종료하고 해당 함수에서 반환할 값을 지정합니다.

기능 범위



범위 변수 "가시성"은 변수가 정의된 위치에 따라 해당 변수에 액세스할 수 있는 위치가 결정됩니다.

블록 범위



블록에는 조건문과 루프가 포함됩니다.


let radius = 8; 
if (radius > 0) {
   const PI = 3.14; 
   let circ = 2 * PI * radius; 
}


console.log(radius); 
console.log(msg); 



console.log 문은 블록 수준 범위 밖에 있으므로 console.log 문은 실행되지 않습니다.

{ 사이의 코드는 블록 수준 범위에 있기 때문에 그에 따라 실행됩니다.

PI 및 circ는 블록 수준으로 범위가 지정됩니다.


let bird = 'mandarin duck';

function birdWatch() {

let bird = 'golden pheasant';
bird; 
}

bird; 



bird 범위는 birdWatch 함수입니다.

어휘 범위



어휘 범위는 일부 상위 함수 내부에 중첩된 내부 함수가 범위 또는 해당 외부 함수의 범위에 정의된 변수에 액세스할 수 있는 경우입니다.


function bankRobbery() {
  const heroes = ['Spiderman', 'Wolverine',]
function cryForHelp() {
 for (let hero of heros) {
  console.log(`Please help us, ${hero.toUpperCase()}

   }
  }
   cryForHelp(); 
}



중첩 또는 내부 함수는 상위 함수 또는 조부모와 동일한 항목에 액세스하거나 몇 단계 위로 액세스할 수 있습니다.

함수 표현식



함수는 변수에 저장할 수 있는 값일 뿐입니다.


const sqaure = function (num) {
  return num * num; 
}

sqaure(7); 





const add = function (x, y) {
  return x + y; 
}



고차 함수



다른 기능과 함께 작동하는 기능.
다른 함수를 인수로 받아들이고 함수를 반환할 수 있습니다.


function callTwice(func) {
  func(); 
  func(); 
}

function laugh() {
  console.log("Hahahah"); 
}

callTwice(laugh)



callTwice라는 함수는 함수가 전달될 것으로 예상합니다.

반환 기능





function makeMysteryFunc() {
 const rand = Math.random(); 
 if (rand > 0.5) {
 return function () {
 console.log("Congratz, I am a good function!")
 console.log("You win a million dollars!!")
} else {
  return function() {
 alert("This is a popup message to annoy you")
   }
  }
 }
}


함수를 값으로 반환합니다.

메소드 정의



메소드는 객체에 대한 속성으로서의 기능입니다.


const math = {
  multiply : function(x ,y) {
 return x * y; 
}, 
   divide : function(x ,y) {
 return x / y; 
}, 
   square : function(x) {
 return x * x; 
}, 

}; 



키워드 '이것'



키워드 'this'는 동일한 개체의 다른 속성에 액세스하는 데 사용됩니다.


const person = {

 first: 'Robert', 
 last: 'Herjavec', 
 fullName() {
 return `${this.first} ${this.last}`
 }
}

person.fullName(0; 
person.last = "Plant"; 
person.fullName(); 



Try/Catch 사용



Try/Catch는 JavaScript의 오류 또는 예외에 사용됩니다. 오류를 포착하거나 코드 실행을 중단하거나 중지하는 것을 방지하는 것과 관련이 있습니다.

때로는 문제가 발생할 수 있는 부분을 예상하고 코드가 손상되지 않도록 계획해야 합니다.


try {

  hello.toUpperCase(); 
} catch {
  console.log("Error!!")
}
hello.toUpperCase(); 

console.log("After"); 





function yell(msg) {
  try {
   console.log(msg.toUpperCase().repeat(3)); 
  } catch (e) {
  console.log("Please pass a string next time!")
  }
}

좋은 웹페이지 즐겨찾기