

-> 순서상관없이 함수는 사용할 수 있다 = 호출

-> 만들자마자 호출부()를 덧붙이는 방식


-> 초기화 안하면 undefined값을 가진다.


<자바>


-> compile error
<자바스크립트>

-> 매개변수 선언시 선언키워드 들어오지 x

-> 자바스크립트는 값을 받았을때 그때 타입을 가짐(동적 타입)

-> 값을 안주면 a는 undefined값을 가짐

-> 매개변수가 선언되고 있음에도 불구하고 전달하지 않을수 있음(이경우임!!)
<C+플러스>

-> 100을 전달해서 100을 쓰겠다

-> 전달되지 아니하면 10을 쓰세요

-> 디폴트 매개변수 : 전달값에 따라 초기변수 잡을 수 있음

-> ...(배열)(내부에서는 배열로 처리함)

정수를 한개 전달해도 되고 정수를 2개 전달해도 되고 몇개를 전달해도 상관X
-> 정해진 인수 갯수가 없을때


-> ...을 매개변수 앞에(여러개의 인수가 전달될 수 있다는 것을 의미)





-> true 안나옴
함수의 정의, 변수의 선언 먼저 처리함


-> 호이스팅 : 함수 정의와 변수 선언을 먼저 한다

-> a의값은 아직 undefined상태



1. 변수가 필요
2. 여기서 곧바로 실행해야 한다.

-> 변수를 선언하고 변수에 함수를 저장한다(변수= 함수)

-> 익명함수를 저장하고 호출하는 방식
자기가 직접 저장하고 호출까지 하는방식


-> function 키워드사라짐, 매개변수만 남김
(뒤에 => 화살표 붙이면 끝임)
인수,매개변수 선언 : 전달된 값을 사용할 수 있게끔 만들어주는 것
-> 여러가지 형태의 선언함수와 익명함수
-> 여러가지 방법에 대해서 정리해두기!



-> 10한번, 0한번

-> 정수전달되면 전달된 것을 쓰고, 전달되지 않으면 10을 쓰겠다


-> ES6(에그마스크립트=자바스트립트 6)
-> 10 전달하면 10 사용, 전달안하면 0사용

-> 인수의 갯수가 정해져있지 않다


-> 매개변수 안잡아도 알 수 있음

-> 아무도 안받는데 6,7,8,9 잘나옴(내부에서 받는애가 있음)
-> 하나 전달하면 한개 쓰고 두개오면 2개쓰기!

-> 반환에 관한 문법이 return밖에 없음

-> 메소드 끝내고 싶을 때 : 진행 x
-> 필요하면 return;쓰고 값을 반환할거면 값을 반환하기

-> 한메소드에 둘다 나올 수 없고 둘중 한가지만 나올 수 있었는데 반환타입에 대한 명시가 없어서 둘다 나올 수 있음
-> 반환값 마음대로 할 수 있음

-> a,b,c 셋중 제일 큰것 반환하기
-> a,b,c 셋 중 제일 작은 것 반환하기
-> a,b,c 셋중 중간값 반환하기

-> 중괄호 없애기(실행문이 한개일때)




-> 숫자가 아닌것 전달 : 알파벳 순으로 비교함
코드값 a가 97이니까 비교대상에서 빠짐



-> 원래의 값은 없어서 undefined
메소드 종료하고 싶은 코드 값을 반환하고 싶은 코드가 동시에 존재해도 괜찮음

-> 3중에 하나라도 숫자가 아니면 비교하지 않겠음



-> a,b,c 순서로 a가제일큼


-> 구분하기 위해서 else로 묶기

-> 나머지 경우는 c

-> a b 순서대로 놓고 c가 맨 앞, 맨뒤, 중간





-> a가 중앙값인 경우 if안에 싹 적고
b가 중앙값인 경우 if안에 싹 적기

-> 쓸 수 있으면 논리 and 연산쓰기를 권장함
매개변수도 변수임
매개변수가 function 저장가능 -> 매개 변수가 function 저장한다 -> function에 function을 전달한다(함수의 인수로 함수를 전달하면 매개변수가 그걸 받아서 매개변수가 또 함수가 됨)


-> function을 저장한 변수는 더이상 변수가 아니라 함수임
myFunc 호출할때 익명함수(function(){})를 하나 던지면 => 익명함수를 변수에 저장했음(할 수 있음)

-> a실행시
a();
(함수를 전달했으니까 함수처럼 호출해야함)
-> 함수를 다시 부른다
함수를 전달하는 경우 : 전부다 콜백을 사용하고 있는 경우임
: double click




Hello를 먼저 a로 보냄
callback(a,b) a는 인수

-> 혼자서 계속 대답함



-> 팩토리얼 값 구할 때 : 팩토리얼 값보다 하나 작은 값을 구해서 씀


-> 언제 끝나는지가 중요함(재귀호출은 안끝나면 무한루프임)

-> 전산에서는 성능 테스트 용으로도 사용함(팩토리얼 값 넣어서 얼마나 계산잘 하는지 확인함)
-> 끝없이 돌아가는 프로그램 만들고 싶을때: 사용가능함

-> 몇초후에 동작해라

시간이 도래하기 전에 취소시키고 싶다면:

: 지정안하면 무한루프임



-> Callback : 함수에 함수를 주고있으니까
3000 = 3초

-> 새로고침해서 3초 지나야 3초 지났다 뜸


-> 1초에 한개씩 계속 찍힘


-> 위에다가 찍는것!



-> 전달하는 숫자가 원하는 timer가 되는 것

-> 1까지 출력하고 나면 1-1
-> 0이 전달되고 countdown이면 0을 찍어주기

-> 시계 /서버 타이밍

-> 자바스크립트 객체(json : javascript object : 표준화된 데이터 중 하나)


문자열로 적어도 상관없음


-> property라고 부르고 마침표 찍어서 속성을 호출하거나 [대괄호]안에 문자열을 적어서

-> 속성이 문자열[bracket]일경우에만 적음


-> 이쁘게 표기하는 방법 [
줄바꿈
]

-> 친구가 bef(베프)로 되어있음

-> 객체도 가질 수 있음

-> function(익명함수)를 가짐


-> person.info(함수)

-> person.info (가로)로 묶은다음에

-> 2개를 가져와서 출력해주세요
-> 선언도 안하고 변수를 쓸 수 있다고 생각할 수 있음
자바> 현재 객체를 의미하는 키워드 (this)

-> this를 지우고 person이라고 해도 답 같음
person.name person.age



-> 속성 하나하나 찍지 않고 대충 찍어도 보여줌





-> 속성이 문자열로 표기될때는 [대괄호]표기법 써야함(마침표 x)


만들어져있는 객체를 사용법 배우는 것


-> 일반 익명함수

-> 화살표 익명함수 (생성자 함수는 화살표 안됌)
가능
(1)

(2)

-> 비어있는 배열을 만든다 -> push를 이용해서 배열을 만든다.
-> 2중에 1개를 쓰기








-> 문자열 형식의 JSON을 받아오면 String임
-> 객체로 바꿔서 쓸 수 있게 타입변환하는 작업해주기

반대) 문자열로 바꿔서 넘겨주기

-> JSONObject 클래스로 받아서 처리하기
(java 와 javascript가 자유롭게 주고받을 수 있게 연습이 되기)

-> 제이슨 형식으로 주고받을때 문자열이라는것
-> 기본은 string을 전달하는 것

-> 주고받을때 json이라고 해서
java에서 json.object를 가지고
-> string으로 바꿔서
-> 받아서 string을 객체로 활성화 시킴

-> object타입이고 parsing이 되어있는 console창

-> 지금 타임스탬프 값

객체형식이어야 원하는 메소드 호출할 수있음

시간으로 바꿔서 보여주면 시계가 됨
(년,월,일,시,분,초)

-> 서버타임

-> 번쩍이는애 : javascript 돌고있음
id -> span으로 빼서 1초에 1개씩 뿌리기

-> 0~11사이로 나옴


-> 1초에 한번씩 현재 시간을 구해서 전달만하기

-> 이대로 쓰면 한번만 사용가능

-> 년도 구해서 text값으로 넣기

-> +1( 하나 부족하게 나옴 )
->여기서 사용 x


50넘어가면 색깔 빨간색으로 바뀌게 해보기!
특정조건을 만족하면 class를 주고 만족안하면 class를 빼기

-> warning 클래스 주는걸 javascript으로 하기
(javascript에서 if문 써서 50초 넘으면 watch에 warning을 주는것)
-> 아니면) watch에서 warning을 빼는것
attribute로 접근 : class
properties로 접근 : className

50초 안넘었으면

-> 태그 속성이용해서 진행해봄

08월로 바꾸고 싶을때 -> 두자리로 if로 해도됨
-> 차이를 구하면 d-day도 가능

-> 2자리가 되도록 0을 채우기

->
★ 개인정보 마스킹할때 쓰면 편함(010-xxx - xxx)
-> 자바) Stringformat. method로 함


-> 2023년 8월 30일 16시 30분 30초
(오늘이 아니라 9월 30일임)

-> 안드로이드도 이럼


-> 다음주 30일 토요일임


-> 위에꺼 찍고 밑에꺼 찍을동안 1000분의 1초가 지남
-> d-day 구하기
오늘 타임스탬프 (큰것 - 작은것)

-> 77일 남음

데이터내장객체 사용법만 남기고 문제는 밑으로 다 옮김

-> 초 x , 시간, 분까지만 보여줌


