//함수
function sample() {
console.log('ㅋㅋㅋㅋ')
}
function 함수이름() {
실행 코드
}
함수이름(); //->호출해 출력되도록
sample();
// a와 b는 더하기 함수의 매개변수(parameter)
function 더하기(a, b) {
console.log(a + b);
}
더하기(1, 100); //1 + 100 -> 101출력
// function 더하기2(a, b) {
// return a + b; //리턴값
// }
// 더하기2(100, 200) //console창이 없으니 안떠
// console.log( 더하기2(100, 200) ); //300
function 인사(이름) {
console.log('안녕? 나는' + 이름 + '야.'); //이름은 매개변수
}
인사('일분이'); //안녕? 나는 일분이야.
function sample() {
return;
console.log('ㅋㅋㅋㅋ')
}
sample();
//return - 함수 종료 후 실행하는 곳으로 돌아가 => 함수 실행하지 않고 돌아가니 값이 없어
var a = 100;
function sample() {
if (a > 0) {
return;
}
}
console.log('ㅋㅋㅋㅋ') //0이 100보다 작은게 맞으니 return
var a = 100;
function sample() {
if (a < 0) {
return;
}
}
console.log('ㅋㅋㅋㅋ') //0이 100보다 큰게 틀리니 출력
function 더하기2(a, b) {
return a + b; //리턴값
}
더하기2(100, 200); //console창이 없으니 안떠
console.log( 더하기2(100, 200) ); //300
//return값으로 뱉어 만들어 주는게 없으면 그 값은 사용 불가능 -> return값을 사용할 일이 있다면 return값을 만들어 줘야함!
//세팅만 한다면 상관없게찌
//변수의 유효범위(Scope)
var a = 100; //전역변수
// console.log(a);
function sample1() {
console.log('sample1에서 출력한' + a);
}
function sample1() {
var b = 200; //지역변수
console.log('sample1에서 출력한' + b);
}
sample1(); //출력 잘됨
/* 함수밖에서 전역에서 선언한 변수는 모든 애들이 알아 공유되 사용가능
하지만 함수안, 지역에서 선언한 변수는 그 함수 안에서만 사용 가능 */
var a = 100;
function sample1() {
var a = 'sample1 내부의 a';
var b = 200;
console.log(a);
} //함수안의 변수 먼저 찾고 그 안에 없다면 밖의 변수를 찾아 적용
//함수는 방으로 생각
var a = 100;
function sample1() {
var a = 'sample1 내부의 a';
var b = 200;
console.log(a);
function sample2() {
var c = 10000;
console.log(b);
}
console.log(c); //sample2안에 있는 것이라 sample1에서는 사용못한다
sample2();
}
sample1(); //sample1안에 sample2가 있어 sample2는 sample1의 변수도 사용가능
//함수 안에선 바깥의 변수 사용가능 하지만 밖에선 안의 변수를 사용하지 못한다
//객체
var jejudo = {
a: 100,
b: 200,
c: 300
}; //객체 형태의 그룹화를 통해 전역변수의 남발을 막는다
console.log(jejudo.c); //제주도변수의 c값 => 300
/*var대신
let 변할 수 있는 변수
const 변할 수 없는 상수*/
//let은 if문 안에 있으면 접근 못하고 var은 접근가능 (함수면 불가능)
var person = {};
person.name = '동네79'; //개체.속성 //속성(property)
person.age = 12;
person.introduce = function () {
//이름이 필요없음 안줘도 돼
console.log('안녕? 나는 동네79야. 나이는 12살이야.'); //매서드(method) 함수인 속성
}
console.introduce(); //console개체에 log속성에 접근
//->안녕~ 출력
var person2 = {
name: 'Zena',
age: 20,
introduce: function () {
console.log('안녕? 나는 Zena야, 나이는 20살이야.');
}
};
person.introduce();
person2.introduce(); //introduce들 출력
var person = {};
person.name = '동네79'; //개체.속성 //속성(property)
person.age = 12;
person.introduce = function () {
//이름이 필요없음 안줘도 돼
console.log('안녕? 나는' + name + '야. 나이는 ' + age + '살이야.'); //매서드(method) 함수인 속성
} //age는 정의 한적 없어 error(변수를 설정한적 없다. var age;), name은 빈문자열인 이미 정의돼 있는 변수라 error가 안뜬데...
/*에러 해결*/
var person = {};
person.username = '동네79'; //개체.속성 //속성(property)
person.age = 12;
person.introduce = function () {
//이름이 필요없음 안줘도 돼
console.log('안녕? 나는' + this.username + '야. 나이는 ' + this.age + '살이야.'); //매서드(method) 함수인 속성
} //함수안에서 this가 가리키는 것은 이 매서드를 실행한 주체 객체이다
//생성자(constructor) - 맨앞글자를 대문자로 약속~
function Person(username, age) {
this.username = username;
this.age = age;
this.introduce = function () {
console.log('안녕? 나는' + this.username + '야, 나이는 ') + this.age + '살이야.');
}
}
//인스턴스(instance)
var p1 = new Person('동네79', 20);
var p2 = new Person('일분이', 3);
Person('동네79', 20); //=>윈도우 전역개체 인식, this인식 X new를 꼭 써야해
p1.introduce();
p2.introduce();
주말에 할것
- JavaScript 월, 화 수업 복습
- HTML/CSS 익숙해지기 -> 포폴 구상 틀 만들기
- 홈페이지 만드는거 클론코딩(?) 영상 보기
- 과제 안올린것 올리기
- Python(언제 보지..?)
'2024 글로컬 청년취업사관학교 > TIL' 카테고리의 다른 글
TIL - [DAY 9] (0) | 2024.07.03 |
---|---|
TIL - [DAY 8] (0) | 2024.07.03 |
TIL - [DAY 6] (0) | 2024.07.02 |
TIL - [DAY 5] (0) | 2024.06.28 |
TIL - [DAY 4] (0) | 2024.06.28 |