함수를 이용하면 중복 없이 유사한 동작을 하는 코드를 여러 번 호출할 수 있습니다.
<!-- 함수 -->
<p id="result"></p>
<script>
function myFunction(x,y){ //함수의 정의
z = x + y //함수의 기능
return z; //함수의 결과값
}
// 함수의 호출
document.getElementById("result").innerHTML = myFunction(4,3);
</script>
용어 | 번역 | 의미 |
---|---|---|
Parameter | 매개변수 | 함수와 메서드에 입력 변수 이름 |
Argument | 전달인자, 인자, 인수 | 함수와 메서드에 실제 입력되는 값 |
'객체'에 포함된 모든 프로퍼티에 대해 키 값만 출력하는 반복문을 수행한다.
const pocketmons = {
피카츄 : 1,
라이츄 : 2,
파이리 : 3,
꼬부기 : 4,
버터플 : 5,
야도란 : 6,
피죤투 : 7,
또가스 : 8,
메타몽 : 9,
};
console.table(pocketmons);
// key 값 출력
for ( let pocketmon in pocketmons) {
console.log(pocketmon);
}
// value 값 출력
for ( let pocketmon in pocketmons) {
console.log(`${pocketmons[pocketmon]}`);
}
배열 역시 객체이므로 for in 문을 사용해도 된다. 하지만, for in 문은 배열 요소뿐만 아니라 불필요한 프로퍼티까지 출력될 수 있다.
for문보다 for of문이 훨씬 가독성이 좋다.
반복 가능한 객체가 아니라면 for of 문을 쓸 수 없다.
const languages = [ 'Java', 'Javascript', 'Python', 'Ruby', 'C', 'C++' , 'Node.js', 'Django'];
for (let lang of languages) {
console.log(lang)
}
?
중괄호({}) 안에서 선언된 변수
선언된 지역변수는 선언된 지역 내에서만 유효하다.
해당 지역에서 선언되는 순간 메모리가 생성되고 해당 지역을 벗어나면 자동으로 소멸됩니다.
특정 지역(중괄호) 밖에서 선언된 변수
지역과 관계없이 어느 곳에든 유효하다.
코드가 시작되어 선언되는 순간 메모리가 생성되고 코드 전체가 끝날때까지 메모리를 차지하고 있습니다.
전역변수는 프로그램의 구조를 복잡하게 만들고 사용빈도와 상관 없이 프로그램이 끝날때까지 메모리를 차지하고있기 때문입니다. 따라서 전역변수를 사용하는 것은 신중해야합니다.
나를자꾸 호출하는 함수
반복문으로 구현할 수 있는 것은 재귀함수로 모두 구현 가능, 재귀함수로 구현 가능한 것은 반복문으로 대부분 구현(복잡도를 증가시키면 모두) 가능합니다.
function factorial(n){
if(n >= 1){
return n
}
return n * factorial(n-1)
}
값을전달하는것
// call by value는 값의 전달
let a = 1
function test(x){
x = 1000
}
test(a)
console.log(a)
VM17827:7 1
// call by reference(실제로는 call by value)
let arr = [10, 20, 30]
function test2(x){
x[0] = 1000
}
test2(arr)
console.log(arr)
VM18206:7 (3) [1000, 20, 30]
function factorial(n){
if(n <= 1){
return n
}
return n * factorial(n-1)
}
지원하는 회사에서 유심히 보는 것들
프로젝트 경험, 오픈소스 경험, 출판 경험