개발/공부

javascript 함수...이벤트.......

할루솔이 2022. 11. 29. 19:25
반응형

오늘 미쳤다. 너무 많이 헷갈린다.

 


 

함수(function): 특정 기능을 수행할 수 있는 기능. 한번 정의해두면 재사용성이 좋다.

 

함수 선언 및 호출

function a(){

}

a();

=> a라는 이름을 가진 함수를 호출하는 중

 

-변수

지역변수: 함수 내에서 선언한 경우 그 함수 내에서만 사용 가능

전역변수: 어디서든 사용 가능

 

-변수 종류: 숫자, 문자, 논리값, undefined

 

-무명함수

(function(){ document.write("<h3>무명함수 실행중</h3>"); }) ();

     =>함수 이름이 없음 => 여러번 재사용할 필요없이 1번만 사용할 예정이라 이름을 정하지 않은 것!!

호출할때 매개변수를 전달해줘도 오류없이 작동. 매개변수 사용을 안할뿐

 

함수도 변수처럼 취급 가능.

let f2 = function(){ document.write("<h3>무명함수(변수로 취급) 실행중</h3>"); }

f2();

 

let f3 = f2;

f3();

=> 이렇게 하면 f2함수 출력

 

alert(f2);

: alert창에 함수내용 그대로 출력

 

alert(f2);
:함수 내용 출력

 

alert(f2());

:함수 실행 리턴값 출력

 

name = "전역변수";

: 전역변수는 var붙여도 안붙여도 됨.(다시 확인해보기)

 

function f1() {

var name = "지역변수"; => 그렇지만 여기서는 반드시 var를 써야 지역변수가 됨.

document.write(h3 + name + h33); =>지역변수 출력

document.write(h3 + this.name + h33); } =>전역변수 출력, 함수f1을 포함한 name 출력

 

this키워드(다시 확인)

 

ecmascript6

⇒ 익명함수의 또 다른 표현식

  1. (매개변수) ⇒ {} : function키워드 없고 함수명 없다.
  2. 함수 구현 부분은 변화가 없다
  3. 매개변수가 1개면 () 생략 가능하다.
  4. 함수 구현부에 return문장 1개만 포함되었다면 블럭구조{}는 생략 가능하다.
  5. 5.이런 경우 return키워드 생략도 가능하다.
  6. 간결한 함수를 표현할 수 있다.
  7. 실행시

let f1 = (a,b) ⇒ {a = b * 2; return a+b;} : 함수를 변수 이름 f1으로 쓰겠다.

alert(f1(5,6));

 

 

화살표함수

let f1 = (a)=>{return aa;} a=>aa;

: 매개변수 1개면 괄호, 중괄호 생략 가능

 

let f2 = (a)=>{return a*a;} : 1. 변수처럼 사용

document.write(h3 + (a=> a*a)(5)+h33); : a 화살료함수 만들고 5를 a한테 전달.  2. 즉각 실행

결과: 25 

document.write(h3+f2(10)+h33); ⇒ 100출력

document.write(h3 + (a=> a*a)(5)+h33); ⇒ 25출력

 

 

 

 

반응형