dukDukz
2021.03.30 Javascript 기본 문법 본문
1. 함수와 변수
a = 0;
a == 0;
/*
= , == 차이
*/
console.log(a); // a
console.log(a==0); // true
function a(){
console.log(0);
}
function 정의하고 나서 실행이 바로 안됨
이것을 실행하려면 사용을 해야함 사용법 : 함수명 ();
function a (){ } --> a();
a = 0 ; --> a;
2. 함수안에 인자 값
function hello(a){
console.log(a);
}
hello();
// 이렇게만 하면 undefined 가 콘솔에 찍힘 --> 선언시 아무 값도 주지 않았기 때문
hello(); 함수를 선언할 때 a인자 값을 주지 않았기 때문에 a는 undefined가 됨
결과 : undefined
function hello(a,b){
console.log(a);
console.log(b);
}
hello(1); // 콘솔에 1 , undefined 가 찍힘*/
hello(); 함수를 선언할 때 a 인자값만 주고 b 인자 값을 주지 않았기 때문에 b는 undefined가 됨
결과 : 1
undefined
3. if 문 & for 문
1) if 문과 for문 console 로 출력하기
if(true){
console.log('if문','hello world');
}
for(i=0; i<10; i++){
console.log('for문','hello world');
}
결과 : if문 hello world
for문 hello world
2) for문의 i 값을 2 곱해서 출력하기
for(i=1; i<=9; i++){
console.log(i*2);
}
결과: 2 4 6 8 10 12 14 16 18
3) a에 값을 넣고 1부터 9까지 곱해서 출력하기
function num(a){
for(i=1; i<=9; i++){
console.log(a+'*'+i+'='+a*i);
}
}
num(2);
결과 : 2*1=2
2*2=4 .... 2*9=18
num(숫자); 숫자를 바꿀 때마다 a 값을 변경할 수 있다.
4) string값을 인자로 함수에 넣어서 출력하기
function num(string1){
console.log(string1);
}
num("a");
결과 : a
5) i 값이 5일때만 hello world를 찍고 나머지는 i 값을 찍기
for(i=1; i<=10; i++){
if(i==5){
console.log("hello world");
}else{
console.log(i);
}
}
결과 :
1
2
3
4
hello world
6
7
8
9
6) i가 3의 배수인 경우만 hello world를 출력하기
// 여러가지 방법
// i == 3 || i == 6 ... or || 를 사용할 수 있다.
// if else if 로 3 6 9.... 로 할 수 있음
for(i = 1; i<=15; i++){
if(i%3 == 0){
console.log("hello world");
} else{
console.log(i);
}
}
결과 :
1
2
hello world
4
5
hello world
7
8
hello world
10
11
hello world
13
14
hello world
추가) 이건 왜 안될까?
for(i = 1; i<=15; i++){
for(a=1; a<=5; a++){
if(i == a*3){
console.log("hello");
}else{
console.log(i);
}
}
i = 1 인 상태에서 for a*3 ( = 3 6 9 12 15)까지 다섯번 돈다. 그래서 i가 다섯번 찍힘
i = 2 인 것도 동일함
i = 3 이면 a*3 =3 일때 hello가 찍히고 나머지 4번이 돈다.
i = 6이면 ( 3 6 9 12 15)에서 a*3의 두번째가 6이므로 i=6 한번 찍히고 그 다음에 hello가 찍힌 다음에 나머지 3번이 돈다.
4. 함수, 전역변수, 지역변수
1) 지역변수
function hello(){
i = 0;
console.log(i);
i++;
//console.log(i);
}
hello(); // 0
hello(); // 0 변수가 초기화 됐기 때문에 0이 된다.--> i = 0;이 function 안에 있는 경우
// i = 0;을 전역변수로 설정하면 0 1 이 나온다.
결과 : 0
0
i =0 ; 선언 및 초기화 하고 콘솔에 0으로 찍는다. 그 후에 i++로 i=1 로 만들어준다.
하지만 hello(); 함수를 선언할때마다 함수 안에서 변수가 i=0;으로 초기화 되기 때문에 계속 값이 0이 나온다.
2) 전역변수
i = 0;
function hello(){
console.log(i);
i++;
//console.log(i);
}
hello(); // 0
hello();
결과 : 0
1
hello(); 불러오면 i=0 이니까 0으로 찍고 i값을 증가시킨다. 그러면 i=1
hello(); 또 불러오면 i=1인 상태이고 이걸 콘솔로 찍는다. 그다음에 i 하나 증가시킨다.
3) var 전역변수 와 var 지역변수
var b = "나는 비다";
function hello(){
var b = "나는 에이다"; // 함수안에서 var로 선언하면 이 함수 안에서만 쓰겠다는 것
console.log(b); // 나는 에이다
}
hello();
console.log(b); // 나는 비다
결과 : 나는 에이다
나는 비다
전역 변수로 b= '나는 비다' 가 들어가있음
hello(); 함수를 호출하고 b에 '나는 에이다'를 새로 넣어줌 (앞에 var이 붙어있으므로 이 함수안에서만 쓰겠다는 뜻)
콘솔로 b를 찍어서 방금 들어간 '나는 에이다'를 찍어줌
함수를 빠져나와서 콘솔로 b를 다시 찍으면 '나는 비다' 가 나옴
함수 밖에서 변수 선언시 var를 붙이면 전역변수인것.
함수 안에서 변수 선언시 var를 붙이면 지역변수인것.
var b = "나는 비다";
function hello(){
b = "나는 에이다"; // 함수안에서 var로 선언하면 이 함수 안에서만 쓰겠다는 것
console.log(b); // 나는 에이다
}
hello();
console.log(b); // 나는 비다
결과:
나는 에이다
나는 에이다
함수 안에서 var를 안쓰고 값을 변경해준다면 전역변수의 값을 변경해주겠다. 라는 뜻이다.
그래서 함수를 나와서 찍었을 때도 변경된 값인 '나는 에이다'가 나온다.
5. 함수안에서 값을 증가시킬때 num++
var num = 0;
function hello(){
if(num > 7){
num = 0;
}
console.log(num);
num ++;
}
hello(); // 0
hello(); // 1
console.log(num); // 2
결과:
0
1
2
var num = 0;
function hello(){
if(num > 7){
num = 0;
}
console.log(num);
num ++;
}
hello();
hello();
hello();
hello();
hello();
hello();
hello();
hello();
hello();
hello();
hello();
결과 :
0
1
2
3
..10
var num = 0;
function hello(){
for(i=0; i<10; i++){
console.log(i, num);
}
num ++;
}
hello();
hello();
hello();
결과:
'웹 개발 > JAVASCRIPT' 카테고리의 다른 글
2021.03.31 JS Object 객체란? (0) | 2021.03.31 |
---|---|
2021.03.31 Javascript 기본기 2_ let과 const 형변환 (2) | 2021.03.31 |
2021.03.30 버튼으로 슬라이드 제어 오류_해결 + 슬라이드 정지/재생 (0) | 2021.03.30 |
2021.03.25 경일 배너 만들기 (애니메이션) (0) | 2021.03.25 |
2021.03.25 JS Document. 의 활용 (0) | 2021.03.25 |