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

함수(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
⇒ 익명함수의 또 다른 표현식
- (매개변수) ⇒ {} : function키워드 없고 함수명 없다.
- 함수 구현 부분은 변화가 없다
- 매개변수가 1개면 () 생략 가능하다.
- 함수 구현부에 return문장 1개만 포함되었다면 블럭구조{}는 생략 가능하다.
- 5.이런 경우 return키워드 생략도 가능하다.
- 간결한 함수를 표현할 수 있다.
- 실행시
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출력
'개발 > 공부' 카테고리의 다른 글
| [Git/깃] eclipse랑 Git 연동하기 (0) | 2022.12.09 |
|---|---|
| [eclipse] 톰캣 오류'Starting Tomcat v9.0 Serer at localhost' has encountered a problem. (0) | 2022.12.02 |
| [ VSCode ] Visual Studio Code 설치하기 (0) | 2022.12.02 |
| [node.js] Windows에서 node.js 설치하기 (1) | 2022.12.02 |
| CSS..너 누구니..?(feat. html) (0) | 2022.11.27 |